def obtener_tasa_de_cambio(moneda_origen, moneda_destino):
tasas_de_cambio = {
‘USD’: {‘EUR’: 0.85, ‘MXN’: 17.00, ‘JPY’: 146.00,‘dirhams’:9.80},
‘EUR’: {‘USD’: 1.18, ‘MXN’: 20.00, ‘JPY’: 172.00,‘dirhams’:10.85},
‘MXN’: {‘USD’: 0.059, ‘EUR’: 0.050, ‘JPY’: 8.60,‘dirhams’:0.17},
‘JPY’: {‘USD’: 0.0068, ‘EUR’: 0.0058, ‘MXN’: 0.12,‘dirhams’:0.067},
‘dirhams’:{‘EUR’: 0.092, ‘MXN’: 5.77,‘USD’: 0.10, ‘JPY’: 14.99},
}
try:
return tasas_de_cambio[moneda_origen][moneda_destino]
except KeyError:
return None
def convertir_moneda(cantidad, moneda_origen, moneda_destino):
tasa_de_cambio = obtener_tasa_de_cambio(moneda_origen, moneda_destino)
if tasa_de_cambio is None:
return «Conversión no disponible»
return cantidad * tasa_de_cambio
def main():
print(«Bienvenido al conversor de monedas»)
cantidad = float(input(«Ingresa la cantidad de dinero: «))
moneda_origen = input(«Ingresa la moneda de origen (USD, EUR, MXN, JPY): «).upper()
moneda_destino = input(«Ingresa la moneda de destino (USD, EUR, MXN, JPY): «).upper()
resultado = convertir_moneda(cantidad, moneda_origen, moneda_destino)
if isinstance(resultado, str):
print(resultado)
else:
print(f«{cantidad} {moneda_origen} son {resultado:.2f} {moneda_destino}«)
if __name__ == «__main__»:
main()
Aquest programa és un conversor de monedes que permet transformar una quantitat de diners d’una moneda a una altra, segons unes taxes de canvi predefinides.
1. Diccionari de Taxes de Canvi
python
CopiarEditar
tasas_de_cambio = {
‘USD’: {‘EUR’: 0.85, ‘MXN’: 17.00, ‘JPY’: 146.00, ‘dirhams’: 9.80},
…
}
Aquest diccionari guarda les taxes de conversió entre diverses monedes: USD (dòlar), EUR (euro), MXN (peso mexicà), JPY (ien japonès) i dirhams (AED). Per exemple:
- 1 USD = 0.85 EUR
- 1 EUR = 1.18 USD
Està estructurat com un diccionari anidat: cada clau principal és una moneda d’origen, i el valor associat és un altre diccionari amb les conversions possibles com a destinació.
2. Funció obtener_tasa_de_cambio()
python
CopiarEditar
def obtener_tasa_de_cambio(moneda_origen, moneda_destino):
…
Aquesta funció busca dins el diccionari la tasa de canvi entre dues monedes. Si la combinació no existeix (per exemple, una moneda desconeguda), retorna None.
3. Funció convertir_moneda()
python
CopiarEditar
def convertir_moneda(cantidad, moneda_origen, moneda_destino):
…
- Crida la funció anterior per obtenir la taxa de canvi.
- Si no es pot fer la conversió, retorna un missatge d’error.
- Si sí que es pot, multiplica la quantitat per la taxa de canvi.
4. Funció Principal main()
python
CopiarEditar
def main():
…
Aquesta és la part interactiva del programa. Fa el següent:
- Mostra un missatge de benvinguda.
- Demana a l’usuari que introdueixi:
- Quantitat de diners.
- Moneda d’origen i de destinació.
- Crida la funció convertir_moneda() per fer la conversió.
- Mostra el resultat, o un missatge si la conversió no és possible.
5. Execució del programa
python
CopiarEditar
if __name__ == «__main__»:
main()
Aquesta línia assegura que el codi només s’executa si és el fitxer principal, i no quan s’importa des d’un altre arxiu Python.
Exemple d’ús
Entrada:
yaml
CopiarEditar
Ingresa la cantidad de dinero: 100
Ingresa la moneda de origen: USD
Ingresa la moneda de destino: EUR
Sortida:
CopiarEditar
100 USD son 85.00 EUR
Conclusió del codi
- Es fa servir una estructura clara i modular, amb funcions ben definides.
- El diccionari anidat permet afegir fàcilment noves monedes.
- Es gestiona l’error de conversions no disponibles amb un missatge amigable.
- És una bona introducció a temes de programació com:
- Estructures de dades (diccionaris)
- Funcions
- Entrada/sortida amb l’usuari
