2017-10-08 54 views
-1

我想在python中创建一个程序,用户将输入一个温度,并有程序单位将温度转换为Kelvins。对于代码,我需要帮助检测哪个输入无效,如果输入无效,则返回无返回值。Python:用户输入和无效返回

cas_number = "7732-18-5" 
rho = 1000 
mu = 1 
Tm = 273.15 
Tb = 373.13 
k = 0.58 


units = input("Input desired units, 'K' for Kelvin, 'C' for Celsius, and 'F' for Fahrenheit \n") 

temperature = input("Input temperature value \n") 


def check_units(units): 
    if units == 'F' or units == 'C' or units == 'K': 
     return True 
    else: 
     print("Invalid Input") 
     return False 

def check_temperature(temperature): 
    try: 
     float(temperature) 
     return True 
    except: 
     return False  

def convert_to_kelvin(temperature, units): 
    if check_temperature == True and check_units == True: 
     if units == 'K': 
      temperature = temperature 
      return temperature 
     elif units == 'C': 
      temperature += Tm 
      return temperature 
     elif units == 'F': 
      temperature = (temperature - 32)/1.8 + Tm 
      return temperature 
    else: 
     print("Invalid Input") 
     return 

def is_gas(temperature): 
    if check_temperature and check_units: 
     if temperature >= Tb: 
      return True 
     elif temperature < Tb: 
      return False 
    else: 
     return None 

def is_liquid(temperature): 
    if check_temperature and check_units: 
     if temperature > Tm and temperature < Tb: 
      return True 
     elif temperature <= Tm and temperature >= Tb: 
      return False    
    else: 
     return None 

def is_solid(temperature): 
    if check_temperature and check_units: 
     if temperature <= Tm: 
      return True 
     elif temperature > Tm: 
      return False 
    else: 
     return None 
+0

那么对于初学者,你不调用任何功能。所有的程序都是按照用户输入单位和温度写的。 –

+0

你怎么称呼一个功能? –

+0

如果您想调用'check_units',只需执行'variable_name = check_units(units)','variable_name'就是您想要的名称。 –

回答

0
def check_units(units): 
    if units == 'F' or units == 'C' or units == 'K': 
     return True 
    else:   
     return None 

测试check_units()

units = input("Input desired units, 'K' for Kelvin, 'C' for Celsius, and 'F' for Fahrenheit \n") 

input_check = check_units(units) # calling the function 

if input_check == True: 
    print('Valid input') 
if input_check == None: 
    print('Invalid input') 

你check_temperature()被搞砸了。当您得到输入,你可以将它转换为浮动,就像这样:

temperature = input("Input temperature value \n") 
temperature = float(temperature) 

或者

temperature = float(input("Input temperature value \n"))