base_temperature = raw_input("Temperature to convert: ")
temp = int(base_temperature)
base_unit = raw_input("Current unit of measure (Please choose Celsius, Fahrenheit, or Kelvin): ")
base_unit = base_unit.lower()
if base_unit.lower() == "celsius" or "c":
celsius = temp
fahrenheit = celsius * 9/5 + 32
kelvin = celsius + 273.15
print "%s in Celsius is %s in Fahrenheit and %s in Kelvin." % (celsius, fahrenheit, kelvin)
elif base_unit.lower() == "kelvin" or "k":
kelvin = temp
fahrenheit = kelvin * 9/5 - 459.67
celsius = kelvin - 273.15
print "%s in Kelvin is %s in Fahrenheit and %s in Celsius." % (kelvin, fahrenheit, celsius)
elif base_unit.lower() == "fahrenheit" or "f":
fahrenheit = temp
celsius = (fahrenheit - 32) * 5/9
kelvin = (fahrenheit + 459.67) * 5/9
print "%s in Fahrenheit is %s in Celsius and %s in Kelvin." % (fahrenheit, celsius, kelvin)
以上是我到目前为止在温度转换器上的代码,但我的问题是,它似乎“忽略”了基本上所有的代码,除了接受基本温度,然后将其从摄氏度转换为华氏度和开尔文。即使当我输入华氏度或开尔文作为基本单位时,它似乎忽略了这一点,只需通过“如果基本单位等于摄氏度”的代码,而不管输入到基本单位是什么。举个例子,如果我把100作为基准温度,用“华氏度”来表示基本单位,它会返回“100摄氏度等于212华氏度,373.15开尔文。我对Python非常陌生,所以我不太确定如何解决这个问题,我是否需要创建一个实际函数来分别从摄氏度、华氏度或开尔文进行转换?在