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

如何编写程序限制input函数仅接受0-100范围值并处理4门考试成绩

实现限制输入范围的考试成绩收集程序

核心逻辑

针对每门考试成绩,我们需要完成两类输入校验:

  • 若用户输入INC(不区分大小写),直接标记为未参加考试
  • 若输入数值,必须确保在0-100的有效范围内,否则重新提示用户输入

完整代码实现

def get_valid_score(subject):
    while True:
        user_input = input(f"请输入{subject}的成绩(未参加请输入INC):").strip().upper()
        # 处理未参加考试的情况
        if user_input == "INC":
            return "INC"
        # 校验数值输入的有效性
        try:
            score = float(user_input)
            if 0 <= score <= 100:
                return score
            else:
                print("错误:成绩必须在0-100之间,请重新输入")
        except ValueError:
            print("错误:请输入有效的数值或INC,请重新输入")

# 收集4门考试成绩
subjects = ["语文", "数学", "英语", "综合"]
scores = []
for subj in subjects:
    valid_score = get_valid_score(subj)
    scores.append(valid_score)

# 输出最终结果
print("\n你的4门考试成绩如下:")
for subj, score in zip(subjects, scores):
    print(f"{subj}: {score}")

代码细节解释

  • get_valid_score函数:封装了输入校验的核心逻辑,通过循环持续获取输入,直到用户提供有效内容
    • 将输入转为大写并去除首尾空格,确保inc、 Inc等输入都能被识别为未参加标记
    • 使用try-except捕获非数值输入的异常,避免程序因无效输入崩溃
    • 对数值输入做区间校验,不符合0-100范围时给出明确错误提示
  • 主程序流程:定义科目列表,循环调用校验函数收集每门成绩,最后格式化输出所有结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:15:35