Convertitore Valute Python

Descrizione del Progetto

In questo progetto, realizzerai un convertitore di valute utilizzando Python. Il programma permetterà di convertire importi tra diverse valute utilizzando un’API per ottenere i tassi di cambio aggiornati.

Requisiti

  1. Librerie Python: Utilizzare la libreria requests per fare richieste HTTP all’API di tassi di cambio.
  2. API di Tassi di Cambio: Utilizzare un’API gratuita come ExchangeRate-API o Open Exchange Rates.
  3. Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di specificare l’importo, la valuta di origine e la valuta di destinazione.
  4. Conversione di Valute: Ottenere i tassi di cambio dall’API e calcolare l’importo convertito.

Passaggi

  1. Registrazione all’API: Registrarsi all’API di tassi di cambio e ottenere una chiave API.
  2. Installazione delle Librerie:
    pip install requests
    
  3. Creazione del Programma:
    • Fare una richiesta HTTP all’API per ottenere i tassi di cambio.
    • Implementare la logica per convertire l’importo da una valuta a un’altra.
    • Creare una semplice interfaccia utente a riga di comando per interagire con l’utente.

Esempio di Codice

import requests

# Funzione per ottenere i tassi di cambio dall'API
def get_exchange_rate(api_key, base_currency, target_currency):
    url = f"https://v6.exchangerate-api.com/v6/{api_key}/latest/{base_currency}"
    response = requests.get(url)
    data = response.json()
    if response.status_code == 200:
        rates = data['conversion_rates']
        return rates[target_currency]
    else:
        raise Exception(f"Errore nell'ottenere i tassi di cambio: {data['error-type']}")

# Funzione per convertire l'importo tra due valute
def convert_currency(amount, base_currency, target_currency, api_key):
    rate = get_exchange_rate(api_key, base_currency, target_currency)
    converted_amount = amount * rate
    return converted_amount

def main():
    api_key = "your_api_key_here"
    print("Convertitore di Valute")

    while True:
        try:
            amount = float(input("Inserisci l'importo da convertire: "))
            base_currency = input("Inserisci la valuta di origine (es. USD, EUR): ").upper()
            target_currency = input("Inserisci la valuta di destinazione (es. USD, EUR): ").upper()

            converted_amount = convert_currency(amount, base_currency, target_currency, api_key)
            print(f"{amount} {base_currency} corrispondono a {converted_amount:.2f} {target_currency}")

        except Exception as e:
            print(f"Errore: {e}")

        another = input("Vuoi effettuare un'altra conversione? (s/n): ").lower()
        if another != 's':
            break

if __name__ == "__main__":
    main()

Istruzioni per l’Esecuzione

  1. Registrazione all’API:
    • Registrarsi a un’API di tassi di cambio come ExchangeRate-API e ottenere una chiave API.
  2. Installazione delle librerie necessarie:
    pip install requests
    
  3. Esecuzione del Programma:
    • Salva il codice in un file Python, ad esempio convertitore_valute.py.
    • Sostituisci "your_api_key_here" con la tua chiave API.
    • Esegui il programma:
      python convertitore_valute.py
      
    • Segui le istruzioni per inserire l’importo, la valuta di origine e la valuta di destinazione.
    • Ricevi l’importo convertito.

Estensioni Possibili

  1. Interfaccia Grafica: Utilizzare una libreria come tkinter per creare un’interfaccia grafica per il convertitore di valute.
  2. Storico delle Conversioni: Aggiungere funzionalità per salvare e visualizzare lo storico delle conversioni effettuate.
  3. Supporto per Più API: Implementare il supporto per più API di tassi di cambio per garantire una maggiore affidabilità.