使用嵌套循环交替行
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('''##########
**********
##########
**********
##########''')
是的,如果那是我的家庭作业,我绝对会提交。
这是我需要完成的练习: 使用嵌套循环,编写一些输出以下内容的代码:
##########
**********
##########
**********
##########
以下是我目前所有的代码。我假设我需要将这两个循环函数合并为一个,但我正在努力解决它。我的第一个 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('''##########
**********
##########
**********
##########''')
是的,如果那是我的家庭作业,我绝对会提交。