Lower = (input ("Give lower limit: "))
Upper = (input ("Give upper limit: "))
Lower = int(Lower)
Upper = int(Upper)
X = input ("Ascending order (yes/no): ")
if X == 'yes':
for number in range(Lower,Upper+1):
print(number)
if X == 'no':
for number in range(Lower,Upper,-1):
print(number)
升序部分有效,但当 X == 'no' 时不打印数字
第二个循环被反转,请尝试以下操作:
Lower = (input ("Give lower limit: "))
Upper = (input ("Give upper limit: "))
Lower = int(Lower)
Upper = int(Upper)
X = input ("Ascending order (yes/no): ")
if X == 'yes':
for number in range(Lower,Upper+1):
print(number)
if X == 'no':
for number in range(Upper,Lower,-1):
print(number)
此外,如果您还需要打印Lower
则需要更改为range(Upper,Lower-1,-1)
您一直错过了列表索引的领先优势。
范围可以有三个参数,开始,停止,步长。与负数索引相反,步长不会反向开始迭代,而只是递增起始值。
- "开始"包含,默认值为 0
- Stop 是排他性的,所以如果你想看到它,你应该在你的停止号中添加你想要的步骤,这是唯一需要的变量。
- 步长,默认为 1。
Lower = int(input ("Give lower limit: "))
Upper = int(input ("Give upper limit: "))
X = input("Ascending order (yes/no): ").lower()
if X == 'yes':
for number in range(Lower,Upper+1):
print(number)
if X == 'no':
for number in range(Upper,Lower - 1,-1):
print(number)
假设您要打印从 1 到 5 的数字。
上升
>>> for i in range(1,6,1): #note, step of 1 is the dafault value
... print(i)
1
2
3
4
5
降
>>> for i in range(5,0,-1):
... print(i)
5
4
3
2
1