Python 模式循环

标签 python

我在打印替代图案时遇到问题,输出应该如下所示:

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): 每行仅使用一种类型的填充字符。

看起来您需要弄清楚如何在每行上的两个不同填充值之间切换。我建议:

  1. 在打印之前将每一行累积为一个字符串
  2. 您将研究如何使用序列(列表或元组)来循环值。 itertools 中还有一个您可以使用的工具。

关于Python 模式循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18985683/

相关文章:

python - 如何自动编译python/c扩展?

python正则表达式特定字符,任意组合

python - 引发电子邮件堆栈跟踪的异常

python - 如何在 mongodb 集合中搜索嵌套在数组中的字典键

python - 如何处理 pandas 中超出时间戳范围的日期?

python - 修改字体的大小和类型

python - pandas 数据帧上的矢量化查找

python - 删除越界的字典键(python)

python - 使用线程模块时,Django 在完成测试后不退出

python - 包含形状和它们之间的空间关系的正确数据结构