fcamuso

Corso Python - lezione 19 (funzioni B)

Jun 7th, 2026
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.36 KB | None | 0 0
  1. # 2. Il generatore di Username aziendali
  2. #     funzione chiamata crea_username che prende un nome e un cognome
  3. #     di un nuovo dipendente e genera il suo nome utente standard
  4. #     (tutto minuscolo e separato da un punto).
  5. #
  6. #     Input: Due stringhe (nome, cognome).
  7. #
  8. #     Output Atteso: Una stringa unita. Esempio: inserendo "Mario"
  9. #     e "Rossi", restituisce "mario.rossi".
  10. def crea_username(cognome: str, nome: str, lista: list[str]) -> str:
  11.     user_base: str = f"{cognome.lower()}.{nome.lower()}".replace(" ", "")
  12.     progressivo = 0
  13.  
  14.     user: str = user_base  # pallino.pinco
  15.     while user in lista:
  16.         progressivo += 1
  17.         user = f"{user_base}{progressivo}"
  18.  
  19.     lista.append(user)
  20.     return user
  21.  
  22. # 3. Il calcolatore di mance del ristorante
  23. # funzione chiamata calcola_mancia che calcola quanto lasciare
  24. # di mancia in base al totale del conto e alla percentuale desiderata.
  25. def calcola_mancia(totale: float, percentuale: int, quanti_decimali: int = 1) -> float:
  26.     if totale < 0 or percentuale < 0:
  27.         raise ValueError("Il totale e la percentuale non possono essere negativi.")
  28.  
  29.     return round(totale/100 * percentuale, quanti_decimali)
  30.  
  31. totale = -58
  32. percentuale = 12
  33.  
  34. try:
  35.     print(f"Totale {totale}, mancia suggerita: {calcola_mancia(totale, percentuale, 7)}")
  36. except ValueError as eccezione:
  37.     print(eccezione)
  38.  
Advertisement
Add Comment
Please, Sign In to add comment