如何按升序打印奇数?

时间:2018-09-28 07:19:17

标签: python

我需要按升序打印一个奇数序列。我只能按降序解决。

num = int(input(print("Type any integer: ")))
count = 1 
while count <= num:
    num -= 1 
    if num % 2 != 0:
        print(num)

2 个答案:

答案 0 :(得分:1)

您可以尝试:

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

说明: 检查count是否小于或等于num(如果num也为奇数)。然后,在添加计数之前以2为单位打印计数。

答案 1 :(得分:1)

在这种情况下,我将使用while来遍历所有元素,而不是使用for循环:

for i in range(num):
    if i%2 != 0:
        print(i)

或者您可以使用list comprehension

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)]