使用嵌套循环在 Python 中制作图案

Making pattern in Python using nested loop

我试图制作一个简单的模式,允许用户决定行数和列数,例如:

How many rows: 5
How many columns: 5
>>>
*****
*****
*****
*****
*****

所以我的代码是这样的:

row = int(input('How many rows: '))
col = int(input('How may columns: '))
for row in range(row):
    for col in range(col):
        print ('*', end='')

但结果是这样的:

*****
****
***
**
*

我意识到我为 for 循环的 variable 分配了与输入变量相同的变量名称。但是,我不理解该代码的逻辑。如果你们能给我解释一下流程图之类的东西就太好了。

这会循环 col 次,然后导致 col 被设置为 col - 1

for col in range(col):

由于 range(col)0 循环到 col - 1 并且由于循环完成后循环变量当时设置为迭代的值 when循环退出。

您应该为循环索引使用不同的名称。

row = int(input('How many rows: '))
col = int(input('How may columns: '))
for row_ in range(row):
    for col_ in range(col):
        print ('*', end='')