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

Python实现获取用户输入、将1-100分5段并判断输入所属分段

需求目标

编写Python代码实现以下逻辑:

  • 接收用户输入的数值
  • 将1-100的数字范围平均划分为5个等长区间
  • 判断输入数值所属的区间编号并输出

参考示例:输入23时,正确输出的区间编号为2

当前提供的错误实现代码:

input = input("please give a number from 1 to 100: ")
for i in range(0, 100, 20):
    if i == input[0]:
        print("1")
    if i == input[1]:
        print("2")
print(input)

原代码错误点

  • 直接将字符串类型的用户输入和整数做比较,还错误使用字符串索引取值,逻辑完全不匹配需求
  • 区间判断逻辑只写了前两个区间的判断分支,没有覆盖全部5个区间
  • 变量名使用了Python内置的input函数名,会覆盖内置方法引发异常
  • 没有做输入合法性校验,用户输入非数字、超出1-100范围的值时会直接报错

正确实现代码

# 获取并转换用户输入为整数
user_input = int(input("请输入1到100之间的数字: "))

# 校验输入范围
if not 1 <= user_input <= 100:
    print("输入不合法,请输入1-100范围内的整数")
else:
    # 单区间长度为20,通过数学计算直接得到区间编号,适配边界值
    section_num = (user_input - 1) // 20 + 1
    print(section_num)

计算逻辑说明

5个等长区间分别为1-20、21-40、41-60、61-80、81-100,用(数值-1) // 20 + 1的公式可以直接算出对应区间号,不需要循环或多分支判断:

  • 输入23时,(23-1)//20 +1 = 22//20 +1 = 1 +1 = 2,完全匹配示例要求
  • 边界值20计算结果为1,21计算结果为2,100计算结果为5,没有边界判断误差

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:33:12