fcamuso

Corso Python - lezione 17 (funzioni A)

Jun 2nd, 2026
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.16 KB | None | 0 0
  1. # class DistributoreBiglietti:
  2. #
  3. #     def __init__(self, nome_reparto):
  4. #         self.reparto = nome_reparto  # Stato interno: come mi chiamo?
  5. #         self.numero_corrente = 0  # Stato interno: a che numero sono arrivato?
  6. #
  7. #
  8. #     def tira_biglietto(self):
  9. #         self.numero_corrente = self.numero_corrente + 1
  10. #         return f"Biglietto {self.reparto}: {self.numero_corrente}"
  11. #
  12. #     def leggi_display(self):
  13. #         return f"Il display del reparto {self.reparto} segna: {self.numero_corrente}"
  14.  
  15. # Creiamo due oggetti DISTINTI (due macchinette separate)
  16. # macchinetta_salumi = DistributoreBiglietti("Salumeria")
  17. # macchinetta_pane = DistributoreBiglietti("Panetteria")
  18. #
  19. # # Ogni macchinetta ha il proprio STATO indipendente
  20. # print(macchinetta_salumi.tira_biglietto())  # Output: Biglietto Salumeria: 1
  21. # print(macchinetta_salumi.tira_biglietto())  # Output: Biglietto Salumeria: 2
  22. #
  23. # # La macchinetta del pane parte da 1, non sa nulla di quella dei salumi!
  24. # print(macchinetta_pane.tira_biglietto())  # Output: Biglietto Panetteria: 1
  25. #
  26. # # Leggiamo lo stato senza modificarlo
  27. # print(macchinetta_salumi.leggi_display())  # Output: Il display del reparto Salumeria segna: 2
  28.  
  29. def saluta(dove_siamo: str):
  30.     if dove_siamo == "IT":
  31.         print("Salve")
  32.     else:
  33.         print("Hello")
  34.  
  35.  
  36.  
  37.  
  38.  
  39. # definizione della funzione
  40. def main(n: int) -> bool:
  41.     if n<10:
  42.         return False
  43.  
  44.     print("Hello")
  45.     saluta("IT")
  46.  
  47.     return True
  48.  
  49. def minimo(a: int, b: int) -> int:
  50.     return a if a<b else b
  51.     # if a<b:
  52.     #     return a
  53.     # else:
  54.     #     return b
  55.  
  56. v1: int = minimo(2,3)
  57. print(minimo(-345, -987))
  58.  
  59. if minimo(2,3) > 1:
  60.     print("verificato")
  61.  
  62. exp: int = 23 - (18+minimo(2,3)) *2
  63.  
  64. '''
  65. 1. Validazione base di una password
  66.  
  67.    Obiettivo: Scrivere una funzione chiamata password_valida
  68.    che verifica se una password inserita da un utente rispetta
  69.    la lunghezza minima di sicurezza (almeno 8 caratteri).
  70.  
  71.    Input: Una stringa (la password).
  72.  
  73.    Output Atteso: True se la password ha 8 o più caratteri,
  74.    False se ne ha di meno.
  75.  
  76. 2. Il generatore di Username aziendali
  77.  
  78.    Obiettivo: Scrivere una funzione chiamata crea_username
  79.    che prende il nome e il cognome di un nuovo dipendente
  80.    e genera il suo nome utente standard (tutto minuscolo
  81.    e separato da un punto).
  82.  
  83.    Input: Due stringhe (nome, cognome).
  84.  
  85.    Output Atteso: Una stringa unita. Esempio: inserendo "Mario"
  86.    e "Rossi", restituisce "mario.rossi".
  87.  
  88. 3. Il calcolatore di mance del ristorante
  89.  
  90.    Obiettivo: Scrivere una funzione chiamata calcola_mancia
  91.    che calcola quanto lasciare di mancia in base al totale
  92.    del conto e alla percentuale desiderata.
  93.  
  94.    Input: Un numero decimale (il totale del conto) e un numero
  95.    intero (la percentuale, es. 10 o 15).
  96.  
  97.    Output Atteso: Un numero decimale che rappresenta solo il
  98.    valore della mancia da aggiungere.
  99.  
  100. 4. Il filtro "Family Friendly" (Censura)
  101.  
  102.    Obiettivo: Scrivere una funzione chiamata censura_parola
  103.    che riceve un testo e una parola da censurare. La funzione
  104.    deve sostituire tutte le apparizioni di quella parola con degli
  105.    asterischi (es. ***).
  106.  
  107.    Input: Due stringhe (il testo completo, la parola da censurare).
  108.  
  109.    Output Atteso: La stringa originale ma con la parola incriminata
  110.    censurata. Esempio: testo="Che cavolo fai?", parola="cavolo"
  111.    -> restituisce "Che *** fai?".
  112.  
  113. 5. Controllo giacenza in magazzino
  114.  
  115.    Obiettivo: Scrivere una funzione chiamata verifica_scorte
  116.    che controlla se in un negozio c'è abbastanza merce per soddisfare
  117.    l'ordine di un cliente.
  118.  
  119.    Input: Due numeri interi (quantità richiesta dal cliente,
  120.    quantità attualmente in magazzino).
  121.  
  122.    Output Atteso: Una stringa. Se c'è abbastanza merce,
  123.    restituisce "Ordine confermato". Se non ce n'è abbastanza,
  124.    restituisce "Errore: merce insufficiente".
  125.  
  126. 6. Estrattore del dominio Email
  127.  
  128.    Obiettivo: Scrivere una funzione chiamata estrai_dominio che, d
  129.    ata un'email, restituisce solo la parte dopo la chiocciola,
  130.    per capire quale provider sta usando l'utente.
  131.  
  132.    Input: Una stringa (l'indirizzo email).
  133.  
  134.    Output Atteso: Una stringa. Esempio: inserendo "[email protected]",
  135.    restituisce "azienda.it".
  136.  
  137. 7. Formattatore di numeri di telefono internazionali
  138.  
  139.    Obiettivo: Scrivere una funzione chiamata aggiungi_prefisso
  140.    che prende un numero di telefono italiano e aggiunge il prefisso
  141.    internazionale "+39 ", assicurandosi che non ci siano spazi extra
  142.    all'inizio o alla fine del numero originale.
  143.  
  144.    Input: Una stringa (il numero di telefono inserito dall'utente).
  145.  
  146.    Output Atteso: Una stringa formattata. Esempio: inserendo " 3331234567 ",
  147.    restituisce "+39 3331234567".
  148.  
  149. 8. L'analizzatore di recensioni (Conta parole)
  150.  
  151.    Obiettivo: I siti di e-commerce spesso richiedono recensioni
  152.    lunghe almeno un tot di parole. Scrivi una funzione chiamata
  153.    conta_parole che riceve il testo di una recensione e calcola
  154.    da quante parole è composta.
  155.  
  156.    Input: Una stringa (la recensione).
  157.  
  158.    Output Atteso: Un numero intero (il totale delle parole).
  159.    (Suggerimento : pensare a come sono separate le parole nelle frasi).
  160.  
  161. 9. Calcolatore di prezzi con IVA (con parametro di default)
  162.  
  163.    Obiettivo: Scrivere una funzione chiamata calcola_prezzo_ivato
  164.    che aggiunge l'IVA al prezzo netto di un prodotto.
  165.    L'IVA predefinita deve essere del 22%, ma la funzione deve
  166.    permettere di specificare un'IVA diversa (es. 4% o 10%) se necessario.
  167.  
  168.    Input: Un numero (il prezzo netto) e un parametro di default (l'IVA a 22).
  169.  
  170.    Output Atteso: Il prezzo finale (numero) con l'IVA aggiunta.
  171.  
  172. 10. Il filtro "Solo Maggiorenni"
  173.  
  174.    Obiettivo: Scrivere una funzione chiamata filtra_maggiorenni che
  175.    prende in carico le età degli iscritti a un evento e scarta tutti
  176.    quelli sotto i 18 anni, salvando solo le età valide.
  177.  
  178.    Input: Una lista di numeri interi (es. [15, 22, 17, 30, 18, 12]).
  179.  
  180.    Output Atteso: Una nuova lista contenente solo i numeri maggiori
  181.    o uguali a 18 (es. [22, 30, 18]).
  182. '''
  183. n = main(10)
  184. print(n)
  185.  
  186.  
  187.  
Advertisement
Add Comment
Please, Sign In to add comment