fcamuso

Corso Python - lezione 20 (funzioni C), con Tkinter

Jun 12th, 2026
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.20 KB | None | 0 0
  1. # 4. Il filtro "Family Friendly" (Censura)
  2. #
  3. #     Obiettivo: Scrivere una funzione chiamata censura_parola
  4. #     che riceve un testo e una parola da censurare. La funzione
  5. #     deve sostituire tutte le apparizioni di quella parola con degli
  6. #     asterischi (es. ***).
  7. #
  8. #     Input: Due stringhe (il testo completo, la parola da censurare).
  9. #
  10. #     Output Atteso: La stringa originale ma con la parola incriminata
  11. #     censurata. Esempio: testo="Che cavolo fai?", parola="cavolo"
  12. #     -> restituisce "Che *** fai?".
  13. import tkinter as tk
  14.  
  15. def sanifica(da_censurare: str):
  16.     testo_originale = testo.get("1.0", tk.END)
  17.     asterischi = "*" * len(da_censurare)
  18.     testo_modificato = testo_originale.replace(parola_da_censurare.get(), asterischi)
  19.  
  20.     testo.delete("1.0", tk.END)  # Cancella TUTTO il vecchio contenuto
  21.     testo.insert("1.0", testo_modificato)  # Rimette il testo pulito
  22.     print("INVOCATA!!")
  23.     return
  24.  
  25.  
  26.  
  27.  
  28. # 1. Creiamo la gui principale
  29. gui = tk.Tk()
  30.  
  31. gui.title("Family Friendly")
  32. gui.geometry("1000x800") # Larghezza x Altezza
  33.  
  34. etichetta = tk.Label(gui, text="Inserisci il testo da sanificare", font=("Arial", 24))
  35. etichetta.pack(pady=10)
  36.  
  37.  
  38. testo = tk.Text(gui, width=40, height=10, wrap="word", font=("Arial", 24))
  39.  
  40. # precompiliamo il blocco del testo
  41. testo_manzoni = """Questo testo ogni tanto contiene una p@@#!!cia che va censurata \
  42. di monti da settentrione p@@#!!cia a mezzogiorno, dopo aver formati varj seni e per così dire piccioli \
  43. golfi d’ineguale grandezza, si viene tutto ad un tratto a ristringere; ivi il fluttuamento \
  44. delle onde si cangia in un corso diretto e continuato di p@@#!!cia p@@#!!cia modo che dalla riva si può per """
  45. testo.insert("1.0", testo_manzoni)
  46.  
  47. testo.pack(pady=(0,30))
  48.  
  49. etichetta = tk.Label(gui, text="Inserisci la parola da censurare", font=("Arial", 24))
  50. etichetta.pack(pady=2)
  51. parola_da_censurare = tk.Entry(gui, width=40, font=("Arial", 24))
  52. parola_da_censurare.pack(pady=2)
  53.  
  54. bottone = tk.Button(gui, text="CENSURA!", font=("Arial", 30),
  55.                     command=sanifica(parola_da_censurare.get()))
  56. bottone.pack(pady=40)
  57.  
  58. # 4. Facciamo partire il programma (questo ciclo tiene aperta la gui)
  59. gui.mainloop()
  60.  
  61.  
  62.  
  63.  
  64.  
Advertisement
Add Comment
Please, Sign In to add comment