或操作员未按预期工作,必须替换.upper方法

时间:2019-05-14 11:29:31

标签: python

我正在制作一个公斤到磅之间的重量转换器。正如您在方法1中看到的那样,我首先开始工作,但该方法可行,但我希望它在K和k(对于千克)之间以及L和l(对于磅)之间不区分大小写。

[方法2]

因此,我尝试在语句中使用"L""l"以及"K""k",但是它刚刚坏了。即使以公斤为单位输入内容,重量也要乘以0.45并向我显示一个以公斤为单位的值。

最后,在运行代码时,我必须使用.upper方法将单位大写并用L或K进行检查。

我正在使用PyCharm,这只是一个开始的项目

#Code

# Variable initialisation
weight = float(input("Weight: "))
unit = input("(L)bs or (K)gs: ")

#Approach 1
if unit == "L":
    print(f"Your weight in kilograms is {weight * 0.45} kgs")
elif unit == "K":
    print(f"Your weight in pounds is {weight / 0.45} lbs")

#Approach 2
if unit == "L" or "l":
    print(f"Your weight in kilograms is {weight * 0.45} kgs")
elif unit() == "K" or "k":
    print(f"Your weight in pounds is {weight / 0.45} lbs")

# Approach 3
if unit.upper() == "L":
    print(f"Your weight in kilograms is {weight * 0.45} kgs")
elif unit.upper() == "K":
    print(f"Your weight in pounds is {weight / 0.45} lbs")

当我输入48表示重量,而K表示千克时,假设输入值为21.6kgs,则输出为106.67 lbs。使用方法2,同时完美地适用于方法1和3

有人可以帮忙吗?

0 个答案:

没有答案