如何从最小到最大循环?

how to make loops from smallest to largest number?

a = int(input("first number: "))
b = int(input("second number: "))
for x in range (a,b):
    print(x, end = ' ')

我正在制作一个程序,可以显示从最小到最大的数字。

例如:第一个数是10,第二个数是1。

我的预期结果是:1,2,3,4,5,6,7,8,9。

我做的程序在a低于b时不工作,但在a高于b时工作。

如果你希望它总是从最小值到最大值,而不管哪个是最小值,哪个是最大值,你可以这样做:

for x in range(min(a, b), max(a, b)):

如果你想倒数,那么你可以指定一个额外的步长 -1 作为范围函数的参数,如下所示:

In [1]: list(range(1,10))
Out[1]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

In [2]: list(range(10,1))
Out[2]: []

In [3]: list(range(10,1,-1))
Out[3]: [10, 9, 8, 7, 6, 5, 4, 3, 2]

要倒数,range有一个step参数:设置为-1时,倒数。

a = int(input("first number: "))
b = int(input("second number: "))

step = -1 if a > b else 1
for x in range (a, b, step):
    print(x, end = ' ')