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

Python入门作业:if语句报错如何修复?小费计算程序调试

问题解决:餐厅小费计算程序报错修复

错误原因

你遇到的报错核心问题是:input()函数获取的输入默认是字符串(str)类型,直接拿字符串和浮点数13.4做大小比较,或者用字符串乘以数字,Python都会抛出类型不兼容的错误——不同数据类型无法直接执行这类数值运算。

修复后的代码

按照题目要求用if语句实现的正确代码如下:

# 将输入转换为浮点数,确保能进行数值运算
bill = float(input("Enter bill amount: "))
# 计算账单的15%小费
calculated_tip = bill * 0.15
# 用if语句判断,取15%小费和2美元中的较大值
if calculated_tip >= 2:
    print(calculated_tip)
else:
    print(2)

补充优化说明

  • Python变量名惯例用小写,建议把Bill改成bill,代码可读性更高
  • 也可以直接通过账单金额阈值判断(2美元小费对应的账单金额是2 / 0.15 ≈ 13.333),写法如下,同样符合题目要求:
bill = float(input("Enter bill amount: "))
if bill > 13.333:
    print(bill * 0.15)
else:
    print(2)

这里用13.333而非13.4,是为了保证账单金额超过精确阈值时,15%的小费刚好达到或超过2美元。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:20:39