编程自我怀疑与fuel.py程序实现求助:无法独立解题该如何应对?
关于编程心态的一点看法
遇到编程挑战卡壳、不得不查答案时,别怀疑自己适不适合编程——所有程序员都经历过这个阶段。查答案不是认输,而是高效学习的方式,关键是看完答案后要拆解逻辑:为什么这么写?有没有其他思路?把别人的解法消化吸收,下次遇到类似问题就能独立应对了,慢慢来,谁都是这么成长的。
实现fuel.py程序
功能需求
- 循环提示用户输入
X/Y格式的分数(X、Y均为整数) - 将分数转换为四舍五入到最近整数的百分比,按规则输出:
- 百分比≤1%:输出
E(油箱基本为空) - 百分比≥99%:输出
F(油箱基本已满) - 其他情况:输出四舍五入后的百分比(如
50%)
- 百分比≤1%:输出
- 输入验证:若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
相关产品推荐
相关产品推荐

