首页 > 解决方案 > 如何编写程序打印出 1 和给定 number 之间的所有正整数,在范围的两端交替?

问题描述

该程序应按以下方式工作:

Please type in a number: 5
1
5
2
4
3

我的代码不这样做。我认为应该有第二个循环,但我真的不明白我该怎么做。你能给我一个提示或建议来解决这个任务吗?谢谢。我的代码如下所示:

num = int(input("Please type in a number:"))
n=0
while num>n:
    a = num%10
    num -= a
    num = num/10
    print(a)
    n = n + 1   
print(n)

标签: pythonwhile-loopflip

解决方案


这应该有效:

num = int(input("Please type in a number:"))
number_list = [i+1 for i in range(num)]

while number_list:
    print(number_list.pop(0))
    number_list.reverse()

推荐阅读