我想使用Python打印奇数

时间:2020-10-19 04:51:35

标签: python

count=int(input("insert number")
i=0
while True:
    i+=1
    if i % 2 == 0:
        continue
    print(i)
    if i == count:
        break

当我输入奇数(5、7、9等)时, 此代码显示要计数的奇数。 但是当我输入偶数(2、4、6、8等)时,此代码不会停止。 请给我解决方法

2 个答案:

答案 0 :(得分:0)

那是因为它仅以奇数停止。因为您添加的数字为偶数,请先继续。 您可以这样做:

count = int(input("insert number"))
i = 0
while True:
    i+=1
    if i % 2 == 0: 
        if i >= count: break #added this
        continue
    print(i)
    if i >= count: #fixed == to >=
        break
    

我将if i == count:固定为if i >= count:,并在continue语句中添加了if i >= count: break,因为它在继续继续时不会中断。而且有效!

或执行以下操作:

count = int(input("insert number"))
i = 0
while i != count:
    i+=1
    if i % 2 == 0:
        continue
    print(i)
    if i == count:
        break

我添加了while i != count:。如果我与计数相同,它将停止!

或者只是这样做:

count = int(input("insert number"))
i = 0
for i in range(1, count + 1, 2):
    print(i)

我添加了这样的for语句。 ->从1开始,重复直到计数+1,每次重复都为i + 2。

答案 1 :(得分:0)

更改while循环的条件帮助吗?这是一个建议:

def get_count():
    print("insert number")
    count = int(input())
    return count


def main():
    count = get_count()
    i = 0
    while (i != count):
        i+=1
        if i % 2 == 0:
            continue
        print(i)

main()