Hoy vamos a resolver un ejercicio en Python para convertir monedas o divisas. Es un ejercicio resuelto, así que no se consultan APIs ni nada de eso, solo se hacen operaciones matemáticas.
Tenemos un diccionario con las divisas y su equivalencia entre sí. Podemos convertir entre pesos, dólares, bitcoins, etcétera. Solo debes escribir las equivalencias en el diccionario.
Veamos cómo hacer un convertidor de monedas en Python.
Comenzamos definiendo las equivalencias entre distintas monedas. Como te dije anteriormente, yo prefiero usar un diccionario porque podemos tener el nombre de la moneda como clave y su equivalencia como valor.
Con el enfoque que usaremos, podremos saber si un tipo de divisa existe y también obtener su valor rápidamente:
monedas_con_equivalencias = {
"usd": 1,
"mxn": 20,
"eur": 0.81,
"cad": 1.29,
"btc": 0.000088
}
Nota importante: estoy tomando valores de cuando hice el ejercicio en Python. Seguramente cuando consultes este post el cambio de monedas habrá cambiado, solo es cuestión de actualizar los valores.
Recuerda que es un ejercicio, no un método confiable para convertir monedas.
Ahora que ya tenemos nuestras divisas con sus respectivas equivalencias vamos a solicitar al usuario la moneda desde donde convierte y la moneda a la cual va a convertir, por ejemplo, convertir de mxn
a usd
.
Cada que solicitamos el tipo de divisa verificamos si la misma existe en el diccionario usando el operador in
:
nombre_moneda_origen = ""
nombre_moneda_destino = ""
while nombre_moneda_origen not in monedas_con_equivalencias:
nombre_moneda_origen = input("Moneda origen: ")
while nombre_moneda_destino not in monedas_con_equivalencias:
nombre_moneda_destino = input("Moneda destino: ")
Finalmente solicitamos la cantidad que se convierte, hacemos las operaciones y mostramos los resultados. Toma en cuenta que para que esto funcione, el diccionario debe tener las equivalencias correctas.
El código completo queda así:
monedas_con_equivalencias = {
"usd": 1,
"mxn": 20,
"eur": 0.81,
"cad": 1.29,
"btc": 0.000088
}
print("Monedas disponibles:")
for moneda in monedas_con_equivalencias:
print(moneda)
nombre_moneda_origen = ""
nombre_moneda_destino = ""
while nombre_moneda_origen not in monedas_con_equivalencias:
nombre_moneda_origen = input("Moneda origen: ")
while nombre_moneda_destino not in monedas_con_equivalencias:
nombre_moneda_destino = input("Moneda destino: ")
cantidad = float(input(f"Ingresa la cantidad de {nombre_moneda_origen}: "))
equivalencia_origen = monedas_con_equivalencias[nombre_moneda_origen]
equivalencia_destino = monedas_con_equivalencias[nombre_moneda_destino]
equivalencia = (equivalencia_destino/equivalencia_origen)*cantidad
print(f"{cantidad:.2f} {nombre_moneda_origen} equivale a {equivalencia:.2f} {nombre_moneda_destino}.")
Con esto podemos convertir de pesos a dólares o a bitcoins, solo hace falta ingresar la cantidad. Igualmente puedes agregar cualquier tipo de divisa y modificar lo que creas necesario.
Aquí un ejemplo de la conversión de divisas en Python:
Para terminar te dejo con más tutoriales de Python en mi blog.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.