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

驾驶成本计算函数调试求助:EOF错误及参数处理问题

解决driving_cost函数实现及EOF错误问题

问题分析

你的EOF错误根源是误解了需求:题目只要求输入两个值(每加仑英里数、汽油单价),不需要输入10、50、400这三个里程数——这三个是固定要调用的参数,不是用户输入项。当你用float(input())获取miles_driven时,程序会等待输入,但在线判题环境或测试时没有提供额外输入,就会触发EOFError。

正确实现代码

首先实现符合要求的driving_cost()函数,然后获取用户输入的两个参数,再固定调用三次函数计算10、50、400英里的成本,保留两位小数:

def driving_cost(miles_per_gallon, dollars_per_gallon, miles_driven):
    # 计算逻辑:总油费 = (行驶英里数 / 每加仑英里数) * 每加仑价格
    return (miles_driven / miles_per_gallon) * dollars_per_gallon

# 获取输入的两个参数
mpg = float(input())
price_per_gallon = float(input())

# 固定调用三次,输出保留两位小数
print("{0:.2f}".format(driving_cost(mpg, price_per_gallon, 10.0)))
print("{0:.2f}".format(driving_cost(mpg, price_per_gallon, 50.0)))
print("{0:.2f}".format(driving_cost(mpg, price_per_gallon, 400.0)))

验证示例

当输入为20.0和3.1599时,输出结果为:

0.79
7.90
126.40

(注:原函数调用(20.0, 3.1599, 50.0)返回7.89975,保留两位小数后为7.90,符合要求)

错误点说明

你之前尝试用miles_driven = float(input())是完全没必要的,因为题目明确要求计算10、50、400英里的油费,这三个值是固定的,不需要用户输入。如果强行等待输入,而测试环境没有提供对应输入,就会出现EOF错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:23:15