a = int(input())b = int(input())如果a> b:for number in range(a,b + 1):print(number)else:for c in range(b,a + 1) :打印(c)

问题描述 投票:-4回答:1

嗨,我希望它打印范围内的所有数字,但我只收回输入数字。不知道为什么。

a = int(input())
b = int(input())

if a > b:
  for number in range(a,b+1):
    print(number)
else:
  for c in range(b,a+1):
      print(c)
python range
1个回答
0
投票

发生这种情况是因为当a > b你打印从ab+1的数字而不是我认为你真正想要的数字(ba+1)。颠倒你的状况应该让它发挥作用。

>>> a = int(input())
0
>>> b = int(input())
5
>>> if a > b:
...     for number in range(b, a+1):
...         print(number)
... else:
...     for number in range(a, b+1):
...         print(number)
... 
0
1
2
3
4
5

你也可以使用内置的maxmin函数摆脱这种情况。

>>> a = int(input())
10
>>> b = int(input())
20
>>> for number in range(min(a, b), max(a, b) + 1):
...     print(number)
... 
10
11
12
13
14
15
16
17
18
19

range的文档也可能对您感兴趣。

© www.soinside.com 2019 - 2024. All rights reserved.