我试图创建一个简单的模式,允许用户决定行和列的数字,例如:
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循环的变量指定了变量名,与我输入的变量相同。但是,我并不了解该代码的逻辑。如果你们能向我解释类似流程图的话会很棒。
答案 0 :(得分:2)
这会循环col
次,然后将col
设置为col - 1
for col in range(col):
由于range(col)
循环0
到col - 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循环的当前值。