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

Python使用range按步长5生成两数间含首尾的序列问题求解

问题排查与修正

现有代码的3个核心错误

  • range() 遵循左闭右开规则,第二个参数是终止边界,生成的序列不会包含该值本身。你当前代码的range终止值设为ig2,无法输出要求包含的结束值,需调整为ig2 + 1才能把ig2纳入序列范围。
  • 逻辑执行顺序错误:你先创建了range对象,再判断ig1 <= ig2的合法性,若用户输入的第二个数更小,前面创建range的步骤完全多余,应该把range生成逻辑放到合法性判断的分支内。
  • Python3中range是惰性序列,直接打印不会输出具体数值,需要转成列表或者遍历拼接为要求的空格分隔格式。

修正后代码

ig1 = int(input('Enter your first integer: '))
ig2 = int(input('Enter your second integer: '))

if ig1 <= ig2:
    # 终止值+1保证包含ig2,转列表后用join拼接为空格分隔的字符串
    range_list = list(range(ig1, ig2 + 1, 5))
    print(' '.join(map(str, range_list)))
else:
    print("Second integer can't be less than the first.")

效果验证

输入示例的-15和10时,生成的range为range(-15, 11, 5),转换列表后就是[-15, -10, -5, 0, 5, 10],拼接输出后完全符合预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:15:09