使用嵌套循环在Python中创建模式

时间:2015-02-13 06:30:48

标签: python for-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循环的变量指定了变量名,与我输入的变量相同。但是,我并不了解该代码的逻辑。如果你们能向我解释类似流程图的话会很棒。

2 个答案:

答案 0 :(得分:2)

这会循环col次,然后将col设置为col - 1

for col in range(col):

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

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

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

答案 1 :(得分:0)

如下所示更改for循环:

for r in range(row):
   for c in range(col):

您将列表值重新分配给for循环的当前值。