Python,使用for循环打印两列数字

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)

ssh*_*124 5

你应该使用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派上用场的地方。