使用嵌套循环交替行

Alternating lines with Nested Loops

这是我需要完成的练习: 使用嵌套循环,编写一些输出以下内容的代码:

##########
**********
##########
**********
##########

以下是我目前所有的代码。我假设我需要将这两个循环函数合并为一个,但我正在努力解决它。我的第一个 class 还处于早期阶段,如有任何帮助,我们将不胜感激!

for a in range (0, 5, 2): 
    for b in range(10):
        print("#", end = "")
    print("")
for a in range (1, 5, 2):
    for b in range(10):
        print("*", end = "")
    print("")

您可以使用它来获得您想要的结果

for i in range(0,5):
     print("*"*10)
     print("#"*10)

我建议简单地将符号基于行索引,偶数或奇数

nb_lines = 5
line_size = 10

for i in range(nb_lines):
    for _ in range(line_size):
        if i % 2 == 0:
            print("#", end="")
        else:
            print("*", end="")
    print()

但不需要嵌套循环

nb_lines = 5
line_size = 10

for i in range(nb_lines):
    if i % 2 == 0:
        print("#" * line_size)
    else:
        print("*" * line_size)

有几种方法可以做到这一点。首先你应该检查你需要输出多少行。 5,所以你需要一个循环做 5 次。

for i in range(5):

现在您需要 2 个循环来粘贴打印 2 个线条模式(您的代码中已有它们)

 for b in range(10):
        print("#", end = "")
    print("")

for b in range(10):
        print("*", end = "")
    print("")

如果您需要在 2 个值之间交替,最好使用 Modulo Operator

因此您可以通过 % 2 在 2 个循环之间切换。

for i in range(5):
  if i % 2 == 0:
    for b in range(10):
        print("#", end = "")
    print("")
  else:
    for b in range(10):
        print("*", end = "")
    print("")
def printStripes(row_length, number_of_rows):
    for _ in '_':
        print( "".join(
            [ "\n" if n%(row_length+1)==row_length else
              "#"  if (n//(row_length+1))%2==0 else
              "*"
              for n in range(number_of_rows*(row_length+1))
            ]
        ),end="")

printStripes(row_length=5,number_of_rows=8)

但是不要告诉你的老师你是从 Whosebug 得到的。 (感谢 Kelly,了解如何处理嵌套循环约束。)

由于没有指定输入,只有一个固定的输出:

for _ in '_':
    for _ in '_':
        print('''##########
**********
##########
**********
##########''')

是的,如果那是我的家庭作业,我绝对会提交。