- Modifichiamo l'esercizio 8 del secondo laboratorio. Il codice originale era il seguente:
Vorremmo renderlo più facile da leggere definendo delle funzioni aggiuntive:
tags_cercati = ["grammys", "chappellRoan", "sabrinaCarpenter"] tags_del_post = ["grammys", "doechii"] post_visualizzato = False for tag_del_post in tags_del_post: for tag_cercato in tags_cercati: if tag_cercato == tag_del_post: post_visualizzato = True break if post_visualizzato: print("✅ Il post verrà mostrato") else: print("❌ Il post non verrà mostrato")
post_visualizzato(post)
che restituisce unBool
che dice se ilpost
passato come primo argomento va visualizzato o meno a seconda deitag_cercati
passati come secondo argomento:Per implementare la funzionedef post_visualizzato(post, tag_cercati): # implementare la funzione... return True tags_cercati = ["grammys", "chappellRoan", "sabrinaCarpenter"] post = ["grammys", "doechii"] if post_visualizzato(post, tags_cercati): print("✅ Il post verrà mostrato") else: print("❌ Il post non verrà mostrato")
post_visualizzato
definire e utilizzare una nuova funzioneintersezione
che prende in input due liste e restituisce una nuova lista con i soli elementi in comune fra le due. - Riprendiamo l'esercizio della calcolatrice, vogliamo renderlo più facile da leggere utilizzando delle funzioni; una
volta modificato il codice apparirà come segue:
# Preso un `input` di tipo Stringa nel seguente formato `n operatore m`, lo spezza in una lista con # 3 elementi nel seguente ordine `[n, operatore, m]`: # - `n` e `m` sono due valori di tipo `float` # - `operatore` è la stringa fra i due operandi `n` e `m` # Se la stringa non è in un formato valido, restituisce una lista vuota! def operazione_da_testo(input): # Implementare la funzione return [] # Dati due numeri `n` e `m`, e un `operatore` espresso come una stringa, applica l'operazione corrispondente # ad `n` e `m`. Gli unici operatori supportati sono `+` e `*`, se viene dato in input un qualunque altro # operatore il risultato è `None` def applica_operazione(n, operatore, m): # Implementare la funzione return None while True: testo_input = input() if testo_input == "stop": break operazione = operazione_da_testo(testo_input) if len(operazione) == 3: [n, operando, m] = operazione risultato = applica_operazione(n, operando, m) if risultato != None: print(f"{n} {operando} {m} = {risultato}") else: print(f"Operando non supportato: '{operando}'") else: print("l'operazione fornita non ha un formato valido")
Last active
March 1, 2025 06:44
-
-
Save giacomocavalieri/780f3929b556fbf1f5a6a77fb11df59c to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment