You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当A小于B时列表升序,如何设置B小于A时Python代码输出降序列表

实现方案

原代码中v = list(range(A, B))定义在判断逻辑前,当A≥B时会生成空列表,所以需要在else分支重新构造降序序列,具体写法如下:

方法1:使用range负步长直接生成(推荐,性能最优)

利用range的第三个步长参数设为-1,即可生成从大到小的序列,注意range的结束位是开区间,所以要包含B的话需要将结束参数设为B-1:

else:
    v = list(range(A, B - 1, -1))
    print(v)

方法2:升序序列反转

也可以先构造B到A的升序序列再反转,写法更直观:

else:
    v = list(range(B, A + 1))
    v.reverse()
    print(v)

完整可运行代码

import random

A = random.randint(1, 30)
print('A =', A)

B = random.randint(1, 30)
print('B =', B)

if A < B:
    # 原代码此处也存在开区间问题,若需包含B端点要改为B+1
    v = list(range(A, B + 1))
    print(v)
else:
    v = list(range(A, B - 1, -1))
    print(v)

补充说明:原代码中A<B分支的range(A,B)默认是左闭右开区间,会导致输出缺失B端点,如果你的需求是输出列表要包含A和B两个端点,可以参考上述完整代码修正原if分支的参数。

内容的提问来源于stack exchange,提问作者Maxim Shevcenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 12:06:06