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

Python实现考试得分加调分后最高不超过100分的代码问题咨询

Python调分上限逻辑实现方案

你要实现的加分后最高不超过100的逻辑有两种实现方式:

方案1:直接补全当前卡住的elif分支逻辑

把你写的print("This is where I am stuck.")替换为以下代码即可:

newTotalPoint = 100
print("Total points = ", newTotalPoint, "/", outOf)

方案2:简化判断逻辑(更推荐)

不需要拆分两个分支做判断,直接用Python内置的min()函数就能自动处理上限逻辑,代码更简洁,也不容易出逻辑漏洞。
修改后的完整中文版本代码如下:

# 程序说明输出
print("本程序会读取考试/作业分数并计算你的课程总绩点。")

print()

# 期中1模块标题
print("期中1:")

# 读取输入并计算总得分的函数
def totalPoint():
    # 询问用户该项成绩的占比
    weight = int(input("占比(0-100)? "))
    # 询问用户原始得分,满分100
    scoreEarned = int(input("获得分数? "))
    # 固定该项满分为100
    outOf = 100
    # 询问用户是否需要调分
    yesOrNo = int(input("是否需要调分(1=是, 2=否)? "))
    
    # 调分逻辑
    if yesOrNo == 1:
        # 读取调分额度
        scoreShift = int(input("调分额度? "))
        # 计算最终得分,最高不超过100
        newTotalPoint = min(scoreEarned + scoreShift, 100)
        print("总分数 = ", newTotalPoint, "/", outOf)
    else:
        # 无需调分直接输出原始得分
        print("总分数 = ", scoreEarned, "/", outOf)

totalPoint()

逻辑说明

min()函数会返回传入参数中的最小值,当scoreEarned + scoreShift大于100时,会自动取100作为最终结果,完全匹配“加分后超过100也仅返回100”的需求,不需要额外写多个条件判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:45:03