首页 > 解决方案 > 如何用字符串迭代嵌套的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

标签: pythonloopsiterator

解决方案


您可以使用基于行起始值(每行增加 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

推荐阅读