对于类,我应该写一个代码,输出星号的形式为数字8。我不明白我的代码有什么问题,它增加了一个新的行在开始,但在这个挑战。
因此,预期的输出应该是这样的:
*****
* *
*****
* *
*****
我的代码看起来像这样:
for i in range(0,5):
print()
for j in range(0,5):
if i%2==0:
print("*",end='')
else:
if j==0 or j==4:
print("*",end='')
else:
print(" ",end='')
但是我的输出在开始处添加了一个新行(因此它看起来像是带有额外新行的预期输出),然后按预期打印代码的其余部分。
请帮帮忙。
2条答案
按热度按时间pepwfjgg1#
print()
调用应该在循环的底部,而不是顶部,这样就不会在开始时打印一个空行。你也可以不使用嵌套循环,因为只有两个字符串要打印,它们不需要动态创建。
mkshixfv2#
您从一个空行开始,不应该
您可以更改这一行:
致:
因此,正确缩进后的代码变为:
或者,您可以将
()
的打印移动到for i
循环的末尾,这样它就不再需要在if
中了。这是一种更传统的方法,因为它以换行符结束输出。