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

Python中华氏度转摄氏度出现TypeError错误,如何修复?

修复华氏度转摄氏度的Python代码错误

错误原因分析

  • 类型不匹配:input()函数返回的是字符串类型,直接和整数32做减法运算会触发TypeError,因为字符串与整数不支持减法操作。
  • 公式错误:转换公式写反了,正确的华氏度转摄氏度公式应为:摄氏度 = (华氏度 - 32) / 1.8(等价于(华氏度 - 32) * 5/9)。

修复后的代码

# 将输入的字符串转换为浮点数,兼容整数和小数输入
temperature_f = float(input('Please enter the temperature :'))
# 使用正确的转换公式计算摄氏度
celsius = (temperature_f - 32) / 1.8
# 格式化输出结果,保留两位小数更清晰
print(f'The temperature is {celsius:.2f} centigrade')

代码说明

  • float(input(...)):把用户输入的字符串转为浮点数,既能处理整数输入(如50),也能处理小数输入(如98.6)。
  • 修正后的公式:遵循标准的温度转换逻辑计算结果。
  • f-string格式化:用{celsius:.2f}控制输出保留两位小数,提升结果可读性。

测试示例

输入50时,输出结果为:

Please enter the temperature :50
The temperature is 10.00 centigrade

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:50:34