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

编程自我怀疑与fuel.py程序实现求助:无法独立解题该如何应对?

关于编程心态的一点看法

遇到编程挑战卡壳、不得不查答案时,别怀疑自己适不适合编程——所有程序员都经历过这个阶段。查答案不是认输,而是高效学习的方式,关键是看完答案后要拆解逻辑:为什么这么写?有没有其他思路?把别人的解法消化吸收,下次遇到类似问题就能独立应对了,慢慢来,谁都是这么成长的。

实现fuel.py程序

功能需求

  • 循环提示用户输入X/Y格式的分数(X、Y均为整数)
  • 将分数转换为四舍五入到最近整数的百分比,按规则输出:
    • 百分比≤1%:输出E(油箱基本为空)
    • 百分比≥99%:输出F(油箱基本已满)
    • 其他情况:输出四舍五入后的百分比(如50%)
  • 输入验证:若X/Y格式错误、X或Y非整数、X>Y、Y=0,重新提示输入,捕获ValueError、ZeroDivisionError等异常

代码实现

def main():
    while True:
        try:
            # 获取用户输入并分割X和Y
            fuel = input("输入油箱油量分数(格式X/Y):").strip()
            x_str, y_str = fuel.split("/")
            x = int(x_str)
            y = int(y_str)
            
            # 验证X不大于Y,Y不为0
            if x > y or y == 0:
                continue
            
            # 计算百分比并四舍五入
            percentage = round((x / y) * 100)
            
            # 判断输出
            if percentage <= 1:
                print("E")
            elif percentage >= 99:
                print("F")
            else:
                print(f"{percentage}%")
            break
        
        # 捕获格式错误、非整数输入、除零错误
        except (ValueError, ZeroDivisionError):
            continue

if __name__ == "__main__":
    main()

代码说明

  • 用while True循环持续提示输入,直到得到有效输入并输出结果
  • 通过split("/")分割输入字符串,确保格式符合X/Y要求
  • 捕获ValueError(非整数输入、格式错误)和ZeroDivisionError(Y=0),触发异常时重新提示
  • 计算百分比时用round()实现四舍五入,再根据阈值判断输出E、F或百分比

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:05:17