w=int(input('Width: '))
product=('*')
print(product * w)
for i in range(w-2):
print(product,(w-4) * (' '),product)
print(product * w)这个程序在w>4上运行得很好,但是对于<3,它不是!
发布于 2015-10-03 16:47:01
当您使用自动向字符串添加空格的,时。这就是为什么您必须使用(w-4),如果您不添加,的两个空格,那么(w-2)就足够了。
将您的行切换到此,然后它也适用于3:
print(product+(w-2) * (' ')+product)发布于 2015-10-03 16:29:15
如果你把w<4,放在线上
print(product,(w-4) * (' '),product)(w-4)将为负,以及
-ve*(' ') does not make any sense.因此,它不适用于小于4的值。
希望这能有所帮助。
https://stackoverflow.com/questions/32924599
复制相似问题