如何用for循环实现汽车油耗成本计算并修正现有问题代码
问题原因
你的代码核心错误是input()函数返回值为字符串类型,未做类型转换直接参与算术运算,会触发类型报错。
修复点
- 输入获取后通过
float()转换为浮点型,匹配函数的数值计算要求 - 优化for循环写法,直接迭代里程列表,无需通过索引取值
修复后完整代码
def driving_cost(a, miles_per_gallon, dollars_per_gallon): cost = a / miles_per_gallon * dollars_per_gallon return cost if __name__ == '__main__': driven_miles = [10, 50, 400] # 输入转换为浮点型 miles_per_gallon = float(input()) dollars_per_gallon = float(input()) # 直接迭代里程列表,写法更简洁 for mile in driven_miles: print(driving_cost(mile, miles_per_gallon, dollars_per_gallon))
输出格式优化(可选)
如果需要保留固定小数位(符合美元计价习惯),可以把打印语句修改为:print(f"{driving_cost(mile, miles_per_gallon, dollars_per_gallon):.2f}")
测试示例
输入:
25 3.5
输出:
1.4 7.0 56.0
内容的提问来源于stack exchange,提问作者StockJanitor
相关产品推荐
相关产品推荐

