2017-10-08 1 views
-1

J'essaye de créer un programme en python où l'utilisateur entrera une température et les unités ayant le programme convertissent la température en Kelvins. Pour le code, j'ai besoin d'aide sur la détection du cas où l'une ou l'autre entrée est invalide, et ayant une valeur de retour None si l'entrée n'est pas valide.Python: entrée utilisateur et retours invalides

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

Eh bien pour commencer, vous n'êtes pas appeler toutes les fonctions. Tout ce que le programme fait comme écrit est d'avoir les unités d'entrée de l'utilisateur et la température. –

+0

comment appelez-vous une fonction? –

+0

Si vous voulez appeler 'check_units', faites simplement' variable_name = check_units (units) ', avec' variable_name' étant ce que vous voulez que le nom soit. –

Répondre

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

Testez les 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') 

Votre check_temperature() est foiré. Une fois que vous obtenez l'entrée, vous pouvez le convertir à flotter, comme ceci:

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

Ou

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