Blog
Convertir velocidades en Python: Km/h a Mph
- Publicado por: Rafael Fernandez
- Categoría: Blog

La sencillez de Python en cuanto a sintaxis y cantidad de código lo hace uno de los mejores lenguajes de programación para principantes. Uno de los primeros programas que realizamos cuando estamos aprendiendo el arte de programar, es convertir unidades. En el siguiente script realizaremos una función que nos permita convertir velocidades en Python (de Km/h a Mph).
Paso a paso: convertir velocidades en Python
- Primero, debemos analizar el problema, en este caso el problema es sencillo, necesitamos una función que reciba un valor expresado en Km/h y que devuelva este valor transformado a Mph.
- Establecer relación entre datos de entrada y salida. Tenemos que averiguar los valores para la conversión de las unidades, haciendo una pequeña búsqueda en Google tenemos que: 1 Kilómetro/hora = 0.621371 millas, 1 Milla = 1.60934 Km.
- Diseñar la estructura del programa. En este caso será sencilla: leer valor de entrada, hacer el cálculo de conversión y mostrar el nuevo resultado en la unidad solicitada.
Implementando función para convertir velocidades en Python:
kmh = int(input('Ingrese los km/h: ')) mph = 0.6214 * kmh print('Velocidad en Km/h: ', kmh) print('Velocidad en Mph: ', mph)
Veamos que sucede en esas líneas de código, primero declaramos la variable kmh, para representar la cantidad de kilometros por hora que el usuario ingrese. La función input
de Python recibe la entrada del usuario a modo de cadenas de texto (string) pero necesitamos un valor numérico, por lo cual, hacemos una conversion del tipo de dato string a int. Lo siguiente es aritmética básica e imprimir nuestro resultado.
Este código es bastantes sencillo pero podemos expandirlo un poco más, agregando la opción de convertir también inversamente(de Mph a Km/h) y agregando un poco de interacción. Veamos la nueva implementación:
def kmh_mph(): '''convierte valores de velocidades en Km/h a Mph''' kmh = int(input('Ingrese la velocidad en Km/h: ')) mph = 0.621371 * kmh return '{} Km/h son {} Mph'.format(kmh, mph) def mph_kmh(): '''convierte valores de velocidades en Mph a Km/h''' mph = int(input('Ingrese la velocidad en Mph: ')) kmh = mph * 1.60934 return '{} Mph son {} Km/h'.format(mph, kmh) while True: print('1.- Kilometros/hora a Millas/hora') print('2.- Millas/hora a Kilometros/hora') print('3.- Salir') try: opcion = int(input('Seleccione una opción: ')) if opcion == 1: print(kmh_mph()) elif opcion == 2: print(mph_kmh()) elif opcion == 3: print('Hasta luego') else: raise ValueError except ValueError: print('Ingrese solo números.(1/2)')