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,是的,这可能是一个更好的解决方案!我将编辑我的答案!谢谢