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

Python尝试计算两个float相乘时抛出错误的问题咨询

代码问题排查

你的代码存在3个核心问题,按优先级排序如下:

  • 类型转换未生效:input() 函数的返回值默认是字符串类型,你执行float(money)时没有将转换后的浮点结果重新赋值给money变量,此时money还是字符串类型,尝试和浮点数discount做乘法运算会直接抛出类型错误。
  • 字符串拼接逻辑错误:即便修复了类型转换问题,后续print语句中直接用+拼接字符串和数字类型也会触发类型错误,需要先将数字转换为字符串再拼接,或者直接使用格式化字符串输出。
  • 业务逻辑写反:按照需求是金额高于阈值时应用折扣,但你当前的判断逻辑是金额高于阈值时输出原价,低于阈值时输出折扣价,和预期功能不符。

修正后可运行代码

money = float(input("how much are you paying "))
discount = 0.2
num = 20

if money > num:
    payment = money * discount
else:
    payment = money

print(f"you are paying {payment}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:18:03