如何成对打印数字...?
How to print numbers in pairs...?
- 这个问题已经回答过了,谢谢大家的回复。
我是 python 的初学者。我有一个问题:如何列出从 1 到 5(或用户输入的数字)的所有数字,并切换 n 和 n+1。
number = int(input("Give a number: "))
if the number is for example, 5, I'd want the output to be like this:
2
1
4
3
5
最好使用 while / while True / for / if - 句子,而不是函数。我编码了一个直到第 4 个的地方,还有一个只是一个无限循环的地方……这可能很简单,但我想不通。提前感谢你们的任何建议或提示。这也是我第一次使用 whosebug.com,所以不确定我是否知道如何使用这个网站。
您可以使用从 1 到 N 的简单循环,并交替打印数字的 +1 和 -1。如果 N 是奇数,则最后一个值违反规则,因此您需要确保不要超过 N。
N = 5
delta = 1
for n in range(1,N+1):
if n+delta<=N: print(n+delta) # print value
else: print(N) # if last value breaks the rule
delta = -delta # alternating +1, -1
2
1
4
3
5
如果你想研究更高级的东西,也可以这样做:
print(*(min(N,n+1+(-1)**n) for n in range(N)),sep="\n")
这是另一个解决方案:
N = 5
for i in range(1, N+1, 2):
if i < N:
print(i+1)
print(i)
- 这个问题已经回答过了,谢谢大家的回复。
我是 python 的初学者。我有一个问题:如何列出从 1 到 5(或用户输入的数字)的所有数字,并切换 n 和 n+1。
number = int(input("Give a number: "))
if the number is for example, 5, I'd want the output to be like this:
2
1
4
3
5
最好使用 while / while True / for / if - 句子,而不是函数。我编码了一个直到第 4 个的地方,还有一个只是一个无限循环的地方……这可能很简单,但我想不通。提前感谢你们的任何建议或提示。这也是我第一次使用 whosebug.com,所以不确定我是否知道如何使用这个网站。
您可以使用从 1 到 N 的简单循环,并交替打印数字的 +1 和 -1。如果 N 是奇数,则最后一个值违反规则,因此您需要确保不要超过 N。
N = 5
delta = 1
for n in range(1,N+1):
if n+delta<=N: print(n+delta) # print value
else: print(N) # if last value breaks the rule
delta = -delta # alternating +1, -1
2
1
4
3
5
如果你想研究更高级的东西,也可以这样做:
print(*(min(N,n+1+(-1)**n) for n in range(N)),sep="\n")
这是另一个解决方案:
N = 5
for i in range(1, N+1, 2):
if i < N:
print(i+1)
print(i)