如何在不发生无限循环的情况下从此 python 代码中消除偶数?

How do I eliminate even numbers from this python code without an infinite loop occurring?

我尝试了不同的方法来尝试只打印奇数,但它只会导致无限循环发生。你能帮帮我吗?

import sys

i = 1
while i < len(sys.argv):
    print sys.argv[i]
    i = i + 1

你的问题有点令人困惑。 您应该处理所有参数,然后决定应该打印哪一个。

import sys

i = 1
while i < len(sys.argv):
    number = int(sys.argv[i])
    if number % 2 == 1:
        print number
    i = i + 1

在 python 中,sys.argv 仅包含索引号 0 中的一项 'main.py'。

因此,如果您 运行 索引 1 中的程序,您将不会得到任何输出。如果您从索引 0 开始设置它,您将得到 'main.py' 作为输出打印。

如果这个答案不令人满意,请用这段代码澄清你的问题。