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

Python读取整数输入:输出前后数字及range用法疑问

你的代码问题及正确解法

先说说你代码里的两个关键错误:

  • input是Python内置函数,必须加括号调用(也就是input()),你漏了括号的话,会把函数本身传给int(),直接触发报错。
  • 用range来实现这个需求完全是绕远路,而且你写的range(number ,+ 1, -1)语法和逻辑都不对——range的参数格式是range(起始值, 结束值, 步长),你这样写的循环根本不会按预期执行。

其实这个需求非常简单,不需要循环,直接计算前后数值就行:

# 正确获取用户输入的整数
number = int(input("请输入一个整数:"))
# 计算前一个数和后一个数
previous_num = number - 1
next_num = number + 1
# 输出结果
print(previous_num, next_num)

要是你非要试试用range(纯属练手,没必要这么做),可以这么写:

number = int(input("请输入一个整数:"))
# 生成包含前一个数、当前数、后一个数的范围(range是左闭右开,所以结束值要写number+2)
for num in range(number - 1, number + 2):
    if num != number:
        print(num, end=" ")

测试输入3的话,两种写法都会输出2 4,完全符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:45:43