Python 如何按递增顺序打印奇数?

Python 如何按递增顺序打印奇数?,python,Python,我需要按递增顺序打印一系列奇数。我只能按降序解 num = int(input(print("Type any integer: "))) count = 1 while count <= num: num -= 1 if num % 2 != 0: print(num) num=int(输入(打印(“键入任意整数”)) 计数=1 当计数时,您可以尝试: count = 1 while count <= num: print(count)

我需要按递增顺序打印一系列奇数。我只能按降序解

num = int(input(print("Type any integer: ")))
count = 1 
while count <= num:
    num -= 1 
    if num % 2 != 0:
        print(num)
num=int(输入(打印(“键入任意整数”))
计数=1
当计数时,您可以尝试:

count = 1
while count <= num:
    print(count)
    count += 2
count=1

虽然计数在这种情况下,我不使用
而使用
循环,而是使用
来循环所有元素:

for i in range(num):
    if i%2 != 0:
        print(i)
或者您可以使用
列表理解

d = [i for i in range(num) if i%2!= 0]
#Print increasing values
print(d)
#Print decreasing values
print(d[::-1])
编辑:根据建议,另一种可能的实施方式是:

for i in range(1, num, 2):    
    print i
同样的表达式也可用于列表理解:

d = [i for i in range(1, num, 2)]

使用
sorted(..)
。但是您不需要在此处排序,您需要以正确的方式枚举它。递增
count
而不是递减
num
。如果你只想要奇数,每次加2,而不是加1,然后检查它们是否是奇数。顺便说一句,你所做的不是所谓的排序。这不是真正的排序。你真的应该使用
range
。为什么不:
对于范围内的i(1,num,2):
?@schwobasegl,是的,这可能是一个更好的解决方案!我将编辑我的答案!谢谢