我在打印替代图案时遇到问题,输出应该如下所示:
input height: 7
22
1122
221122
11221122
2211221122
112211221122
22112211221122
但结果是这样的:
input height: 7
22
1111
222222
11111111
2222222222
111111111111
22222222222222
代码:
height = int (input ("input height: "))
for level in range (1, height+1):
num = level
for x in range (num):
if( level%2==0): #Even row starts with "11" first
print ("11",end = "")
else:
print ("22",end = "")
print()
通过使用循环、while、for 循环、无列表。我怎样才能做到这一点?
最佳答案
结果并没有像您想要的那样,因为您选择使用 if(level%2==0):
每行仅使用一种类型的填充字符。
看起来您需要弄清楚如何在每行上的两个不同填充值之间切换。我建议:
- 在打印之前将每一行累积为一个字符串
- 您将研究如何使用序列(列表或元组)来循环值。
itertools
中还有一个您可以使用的工具。
关于Python 模式循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18985683/