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

求助:运行Python代码时出现TypeError: can't multiply sequence by non-int of type 'float'错误

错误原因与解决方法

错误根源

你碰到的TypeError: can't multiply sequence by non-int of type 'float',是因为input()函数获取的bill是字符串类型。字符串只能和整数相乘(作用是重复字符串),和浮点数相乘就会触发这个错误。

解决代码

直接把bill转换成float类型就行,既支持整数账单也支持小数账单,同时把人数ppl转成整数更合理(毕竟人数不会是小数),完整修改后的代码:

# 转换账单金额为float类型
bill = float(input("What is your total amount? "))
persent = float(input("How much you wanna tip? 10%, 12% or 15%? "))
# 人数转成int类型
ppl = int(input("How many ppl are spliting the bill? "))

tip_rate = persent / 100
# 计算含小费的总账单
total_bill = bill * (1 + tip_rate)
# 计算人均应付金额
per_person_cost = total_bill / ppl

# 格式化输出,保留两位小数
print(f"Each person needs to pay: ${per_person_cost:.2f}")

关键修改点

  • bill = float(input(...)):把输入的账单字符串转为浮点数,解决类型不匹配问题
  • ppl = int(input(...)):人数转为整数,符合实际场景
  • 补充了总账单和人均金额的计算逻辑,比原代码只算小费更实用

内容的提问来源于stack exchange,提问作者FACTOR.EXE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:38:10