[英]How to write the program that prints out all positive integers between 1 and given number , alternating between the two ends of the range?
[英]How to write the program that prints out all the positive integer values from 1 up to the input number and each pair of numbers is flipped?
我的代码几乎可以工作:
number = int(input("Please type in a number: "))
a = 2
b = 1
while a in range(number) or b in range(number):
print(a)
print(b)
a += 2
b += 2
使用输入 6 它可以正常工作:
Please type in a number: 6
2
1
4
3
6
5
但是使用输入 5 它不会显示序列2 1 4 3
而不是2 1 4 3 5
你可以在range函数的帮助下做到这一点。 这是一个简化版本:
acc = []
for i in range(1, number, 2):
acc.append(i+1)
acc.append(i)
if number % 2: # if your number is odd then add the last number manually
acc.append(number)
这应该可以完成您的工作。
n = int(input())
for i in range(1, n+1, 2):
if i+1 <= n:
print(i+1)
print(i)
看起来您的编写方式非常接近,但是您没有在最后添加打印功能,因此您将错误的值视为输出。 此外,在这种情况下,请使用“and”而不是“or”。
number = int(input("Please type in a number: "))
a = 2
b = 1
while a in range(number) and b in range(number):
print("Original a", a)
print("Original b", b)
a += 2
print("Current a", a)
b += 2
print("Current b", b)
number = int(input("Please type in a number: "))
a = 2
b = 1
count = 1
while count <= number:
count += 1
if a <= number:
print(a)
a += 2
if b <= number:
print(b)
b += 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.