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

Zybooks 5.19实验:高尔夫分数Python代码测试不通过求助

高尔夫分数代码修正方案

你的问题出在par和strokes的差值判断逻辑搞反了,比如输入par=4、strokes=3时,正确差值是3-4=-1(strokes比par少1),对应Birdie,但你的代码可能错误地计算成了4-3=1,导致误判为Par。

以下是用基础if-elif语法写的修正代码,完全符合你没学过复杂语法的要求:

# 获取输入的par和strokes
par = int(input())
strokes = int(input())

# 先验证par是否在合法范围(3、4、5)
if par not in [3, 4, 5]:
    print("Error")
else:
    # 计算击球数与标准杆的差值
    score_diff = strokes - par
    # 根据差值判断成绩
    if score_diff == -2:
        print("Eagle")
    elif score_diff == -1:
        print("Birdie")
    elif score_diff == 0:
        print("Par")
    elif score_diff == 1:
        print("Bogey")
    # 差值不在-2到1之间时输出Error
    else:
        print("Error")

测试验证

  • 输入4和3:差值为-1 → 输出Birdie(符合预期)
  • 输入5和3:差值为-2 → 输出Eagle(符合预期)
  • 输入3和3:差值为0 → 输出Par
  • 输入4和5:差值为1 → 输出Bogey
  • 输入6和4:par不合法 → 输出Error
  • 输入3和6:差值为3 → 输出Error

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:36:20