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它没有!
答案 0 :(得分:0)
如果你把w< 4,在行
print(product,(w-4) * (' '),product)
(w-4)将为负数,
-ve*(' ') does not make any sense.
因此它不适用于小于4的值。
希望这有帮助。
答案 1 :(得分:0)
当您使用自动为字符串添加空格的,
时。这就是为什么你必须使用(w-4),如果你不用,
添加两个空格,那么(w-2)就足够了。
将您的行切换为此行,然后它也适用于3:
print(product+(w-2) * (' ')+product)