如何迭代一个嵌套的for循环与字符串?



我需要显示的行和列看起来像他们计数从1到5在第一行,6到10在第二行,…, 21到25在最后一行。下面是代码:

numberOfRows = 5
for i in range(numberOfRows):
str1 = ""
for j in range(numberOfRows):
# have string square numberOfrows and print them by five
print(str1)

我想知道如果有一个if语句会是最好的…我理解I代表行数,j代表列数,我想知道如何让代码打印所需的结果:

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

不是为每行打印i,而是要填充str1(我认为这是每行的内容),然后在迭代结束时(在jfor循环之后)打印str1。像这样的

numberOfRows = 5
current_number = 1
for i in range (numberOfRows):
str1 = ""
for j in range(numberOfRows):
str1 += str(current_number)
current_number += 1
print(str1)

同样,我绝对建议你在发布的代码中保持缩进清晰和一致

您可以使用基于行起始值(每行增加5)的偏移计算来遍历行和打印列:

rows = 5
for r in range(rows): print(*range(r*rows+1,(r+1)*rows+1)))
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

最新更新