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

BMI计算代码出现TypeError:字符串与整数幂运算不兼容问题排查

问题分析与解决
  • 问题所在:
    你写的float(height)和float(weight)只是临时把字符串转成了浮点数,但没把转换后的值存回原变量。所以height和weight从头到尾都是字符串类型,执行height ** 2时,字符串没法和整数做幂运算,就触发了报错。

  • 修正后的代码:

height = input("enter your height in m: ")
weight = input("enter your weight in kg: ")

# 把转换后的浮点数重新赋值给变量,覆盖原来的字符串
height = float(height)
weight = float(weight)
bmi = weight / height ** 2
# 这里的float(bmi)是多余的,运算结果本身就是浮点数
print("Your BMI is " + str(bmi))

额外提示:float(bmi)这一步完全没必要,因为两个浮点数做除法和幂运算后,结果本身就是浮点数类型,不需要再额外转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:22:00