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

如何将输入的正数转为负数以实现Python range()函数的反向遍历

解决方法

要把步长amount固定转换为负数实现反向遍历,最简单的方式是对输入值取绝对值后添加负号,这样无论用户输入的是正数还是负数,最终得到的步长始终为负:

修改后完整代码

start = int(input("Please enter starting number"))
end = int(input("Please enter ending number"))
# 强制将步长转换为负数
amount = -abs(int(input("Please enter the amount to count")))

for i in range(start, end, amount):
    print(i)

额外说明

  • 反向遍历必须满足start > end的前提,否则range()会生成空序列,不会输出任何内容。比如你要从10倒序数到2,步长为2的话,需要输入start=10,end=1,才能输出10、8、6、4、2的结果。
  • 如果你不需要兼容用户输入负数步长的场景,也可以直接对输入值取反:amount = -int(input("Please enter the amount to count")),但这种写法如果用户输入负数,会得到正步长,无法实现反向遍历。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:06:03