[英]Nested loops pulling from lists
我需要制作一个嵌套循环,根据用户输入的行数和列数打印座位列表(例如1a
、 3c
),例如打印2 3
(行列)的输入
1a 1b 1c
2a 2b 2c
列号应替换为字符。 我知道有一种方法可以通过更改循环中的字符来做到这一点,但是我想从列表中获取列字符。
这是我当前的代码:
num_rows = int(input('rows'))
num_cols = int(input('cols'))
a = list('abcdefghijklmnopqrstuvwxyz')
rows = 1
cols = 0
for rows in range(num_rows):
for cols in range(num_cols):
cols = a[num_cols]
print('{}{}'.format(rows, cols), end=' ')
num_cols += 1
rows += 1
print()
对于2 3
的输入,此代码生成
0d 0e 0f 1g 1h 1i 1j 1k 1l
而不是上面给出的预期输出。
评论太长了。 您的代码有一些问题。
rows
和cols
,因为这两个值都将被for
语句覆盖。a[cols]
,而不是a[num_cols]
因为这会给你一个从最后一列开始的值num_cols
,因为它被用作循环范围的结束,改变它对循环没有影响rows
,这是通过for
语句实现的rows
循环的范围应该是(1, num_rows+1)
行号从 1 开始rows
循环中使用print()
来为每一行开始一个新行把所有这些放在一起,你得到:
num_rows = int(input('rows'))
num_cols = int(input('cols'))
a = list('abcdefghijklmnopqrstuvwxyz')
for rows in range(1, num_rows+1):
for cols in range(num_cols):
print('{}{}'.format(rows, a[cols]), end=' ')
print()
对于num_rows = 3
和num_cols = 4
输出:
1a 1b 1c 1d
2a 2b 2c 2d
3a 3b 3c 3d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.