Mundo em Python

Trava-Línguas (com áudio)

import random
import os
from gtts import gTTS
from tkinter import *
from playsound import playsound trava_linguas = [
"O rato roeu a rolha da garrafa do rei da Rússia.",
"A vaca malhada foi molhada por outra vaca molhada e malhada.",
"Se o Papa papasse papa, se o Papa papasse pão, o Papa papava tudo, menos a papa do papão.",
"Atrás da pia tem um prato. No prato tem um pinto. O pinto pia, o prato parte, e a pia pinga.",
"Sabes que sabe que eu sei que tu sabes que eu sei que sabes.",
"O tempo perguntou ao tempo quanto tempo o tempo tem. O tempo respondeu ao tempo que o tempo tem tanto tempo quanto tempo o tempo tem.",
"O cágado cagado cagava cascas de castanha castanha.",
"O filho do vizinho fere o filho do fininho, o fininho fere o filho do vizinho.",
"O Pedro pregou um prego na pedra e a pedra apanhou o prego do Pedro.",
"Três tigres tristes para três pratos de trigo.",
"O alfaiate apanha o alho e o alho apanha o alfaiate.",
"Se o juiz justifica a justiça, justo será o juiz que justifica a justiça.",
"O padre pouca capa tem, porque pouca capa compra.",
"O faroleiro faroleia com seu farol faroleiro, e a faroleira faroleia com seu farol faroleiro.",
"O céu está limpo. Quem o limpa? Quem o limpa bem? Quem o limpa sempre?",
"O sábio não sabe que o sabiá sabe assobiar.",
"Pardal pardo, por que palras tão depressa?",
"Um ninho de mafagafos tem sete mafagafinhos. Quem os desmafagafizar, bom desmafagafizador será.",
"Chuva no chão chove, chuva no chão molha, chuva no chão não chove, chuva no chão não molha.",
"O doce perguntou pro doce qual é o doce mais doce que o doce de batata-doce?",
"Pinto porco, porco pinto, porco pinto, pinto porco.",
"Em rápido rapto, um rápido rato raptou três roupas no rapto.",
"O padre Pedro partiu para Paris para pregar para o povo pagão.",
"A aranha arranha a rã, a rã arranha a aranha.",
"O touro torto tomou um tombo na torre torta."


] root = Tk()
root.geometry("700x450")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Trava-Línguas") ultimo_trava = ""

titulo = Label(root, text="Trava-Línguas",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.pack(pady=10)
def falar(texto):
tts = gTTS(text=texto, lang="pt", tld="pt")
filename = "trava_linguas.mp3"
tts.save(filename)
playsound(filename)
os.remove(filename) def app():
global ultimo_trava
trava = random.choice(trava_linguas)
ultimo_trava = trava
resultado_texto.config(text=trava)
falar(trava) def repetir():
if ultimo_trava:
falar(ultimo_trava) def limpar():
resultado_texto.config(text="") frame_botoes = Frame(root, bg="#103030")
frame_botoes.pack(pady=20) but1 = Button(frame_botoes, text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=app)
but1.grid(row=0, column=0, padx=10, ipadx=20) but_repetir = Button(frame_botoes, text="Repetir", bd=2, bg='#f0ad4e', fg='white',
font=('Verdana', 12, 'bold'), command=repetir)
but_repetir.grid(row=0, column=1, padx=10, ipadx=20) but_limpar = Button(frame_botoes, text="Limpar", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=limpar)
but_limpar.grid(row=0, column=2, padx=10, ipadx=20) but_sair = Button(frame_botoes, text="Sair", bd=2, bg='#d9534f', fg='white',
font=('Verdana', 12, 'bold'), command=root.destroy)
but_sair.grid(row=0, column=3, padx=10, ipadx=20) resultado_texto = Label(root, text="",
font=("Arial", 14, "bold"), bg="#cfe2f3",
wraplength=600, justify="center", padx=20, pady=20)
resultado_texto.pack(fill="both", expand=True, padx=20, pady=10) root.mainloop()
0