Python字符串相等判断失效,输入重量及单位后代码无输出如何解决
代码问题排查与修复
问题原因
- 核心错误:
if判断中调用字符串大写转换方法时遗漏了括号,lbsorkg.upper是方法对象本身,不是执行转换后的结果,和字符串"K"比对永远返回False,所以分支内的打印逻辑永远不会触发,导致没有输出。 - 额外问题:当前代码仅覆盖了千克转磅的逻辑,缺少磅转千克、非法输入的处理逻辑,原代码第二行变量定义前有多余缩进,可能触发语法错误。
修复后完整代码
Weight = input("Weight: ") lbsorkg = input("(L)bs or (K)g: ") if lbsorkg.upper() == "K": FinalPounds = float(Weight) * 2.205 print(f"You are {FinalPounds} pounds") elif lbsorkg.upper() == "L": FinalKilos = float(Weight) / 2.205 print(f"You are {round(FinalKilos, 3)} kilograms") else: print("输入单位不合法,请输入L或K")
运行验证
输入你给出的测试用例:
Weight: 12 (L)bs or (K)g: k
会正常输出:You are 26.46 pounds
内容的提问来源于stack exchange,提问作者Polemoni Sourish
相关产品推荐
相关产品推荐

