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

Python编写重量转换器时if分支被跳过该如何修复?

问题原因

你写的kg_lbs.upper == "K"条件永远不成立:upper是字符串自带的转换大写方法,不加括号时指代的是方法本身的对象,而非调用方法后得到的大写字符串,二者和"K"比较的结果永远为假,因此程序只会执行else分支。

修复代码

只需要给upper加上调用括号即可,修改后完整代码如下:

weight = int(input("Weight: "))
kg_lbs = input("(K)g or (L)bs?")
converted_one = weight / 0.454
converted = weight * 0.45

if kg_lbs.upper() == "K":
    print("Weight in lbs: " + str(converted_one))
else:
    print("Weight in kgs: " + str(converted))
补充提示

你代码里的转换系数用的是近似值,如果需要更高精度可以调整:

  • 公斤转磅:1公斤≈2.20462磅,等价于除以0.453592
  • 磅转公斤:1磅≈0.453592公斤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:39:00