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

如何在Python中实现0-100的输入范围校验功能?

实现0-100分数输入限制的Python解决方案

要解决输入分数必须在0-100之间的问题,我们可以封装一个带验证逻辑的输入函数,既避免重复代码,也能确保输入合法。同时修正原代码里的变量名错误(MarksList应为小写开头的marksList),还可以加入非整数输入的异常处理,让程序更健壮。

修改后的完整代码

def get_valid_mark(mark_number):
    while True:
        try:
            mark = int(input(f"enter mark {mark_number}: "))
            if 0 <= mark <= 100:
                return mark
            else:
                print("错误:分数必须在0到100之间,请重新输入!")
        except ValueError:
            print("错误:请输入有效的整数分数!")

print("please enter your 5 marks below")

# 读取5个经过验证的分数
marksList = [get_valid_mark(i+1) for i in range(5)]

# 打印分数列表
print(marksList)

# 计算总和与平均值
sumOfMarks = sum(marksList)
averageOfMarks = sumOfMarks / 5

# 展示结果
print(f"The sum of your marks is: {sumOfMarks}")
print(f"The average of your marks is: {averageOfMarks}")

关键说明

  • 输入验证函数:get_valid_mark函数负责处理单个分数的输入,通过while True循环持续请求输入,直到用户提供合法的0-100之间的整数。
  • 异常处理:捕获ValueError,处理用户输入非整数的情况,给出明确错误提示。
  • 列表推导式:用列表推导式简化5个分数的输入过程,替代原代码中重复的变量定义,让代码更简洁。
  • 变量名修正:原代码中sum(MarksList)的变量名大小写错误,改为sum(marksList)避免报错。
  • 格式化输出:使用f-string替代字符串拼接,让结果打印代码更易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:40:33