La función input() permite a los usuarios introducir datos de distintos tipos desde la entrada estándar (normalmente se corresponde con la entrada de un teclado).
Introducir datos de distinto tipo
edad = int(input('Teclear edad: ')) # entrada de entero peso = float(input('Teclear peso: ')) # entrada de flotante nombre = input('Teclear nombre: ') # entrada de cadena print(nombre, edad, 'años', peso, 'kg') # muestra datos
Introducir datos con captura de errores (excepciones)
try: # bloque de código a comprobar articulos = int(input('Artículos:')) # entrada de un número precio = int(input('Precio:')) # entrada de un número print('Pagar: ' + str(articulos*precio) + '€') # muestra resultado except: # bloque para captura de error print('error, deben ser números') # muestra mensaje
Introducir datos con captura de errores en bucle
tramos = 0 total = 0 while True: try: distancia = int(input('Distancia: ')) if distancia == 0: break else: tramos += 1 total += distancia print('Los {} tramos miden {} km.'.format(tramos,total)) except: print('Debes teclear un número entero')
En el siguiente ejemplo si se produce un error no se detendrá el proceso. Volverá a pedirse que se introduzca un dato numérico gracias al bucle.
Introducir fechas y horas con captura de errores
Para validar la entrada de fechas y horas se utiliza la función strptime() del módulo datetime que convierte la entrada introducida a un tipo de datos llamado datetime. En caso de que no pueda convertirla porque no se adecue a una fecha/hora correcta producirá una excepción.
import datetime while True: try: fecha = input("Introducir Fecha dd-mm-aaaa: ") fecha = datetime.datetime.strptime(fecha, "%d-%m-%Y") break except: print ("Fecha incorrecta\n") print(fecha)
Ir al índice del tutorial de Python