and*_*s93 2 python loops for-loop
我需要一些有关 Python 3.3 的非常基本的帮助。我试图更好地理解使用 for 循环的格式化,并且我想简单地打印出两列中 1-20 的奇数。
这是我尝试过的:
for col1 in range(1,10,2):
for col2 in range(11,20,2):
print(col1,'\t',col2)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我的输出非常奇怪。左列包含从 1 到 10 的奇数,但每个数字在进入下一个数字之前会列出五次
1 11
1 13
1 15
1 17
1 19
3 11
3 13
3 15
3 17
3 19
etc..
Run Code Online (Sandbox Code Playgroud)
我想要的是:
1 11
3 13
5 15
7 17
9 19
Run Code Online (Sandbox Code Playgroud)
你应该使用zip:
for i,j in zip(range(1,10,2), range(11,20,2)):
print('{}\t{}'.format(i,j))
[OUTPUT]
1 11
3 13
5 15
7 17
9 19
Run Code Online (Sandbox Code Playgroud)
当您使用嵌套循环时,问题是您为第一列中的每个数字打印第二列,这不是您想要的。相反,您希望同时迭代它们。这就是zip派上用场的地方。
| 归档时间: |
|
| 查看次数: |
5215 次 |
| 最近记录: |