from tkinter import *
import random
sujeitos = [
"O cachorro", "A menina", "O garoto", "O professor", "A criança",
"O estudante", "A professora", "O médico", "O cachorro de rua", "O professor de matemática",
"A atleta", "O artista", "O cientista", "A bailarina", "O cozinheiro",
"A artista de rua", "O engenheiro", "A motorista", "O programador",
"O policial", "A mãe", "O pai", "A amiga", "O chef"
]
verbos = [
"corre", "pula", "dança", "estuda", "canta",
"joga", "nada", "trabalha", "ensina", "leciona",
"desenha", "brinca", "conversa", "comemora", "viaja",
"assiste", "explora", "ajuda", "constrói", "organiza",
"dirige", "festa", "lembra"
]
complementos = [
"na rua", "para a escola", "no parque", "na sala de aula", "no jardim",
"no supermercado", "no trabalho", "no hospital", "na academia", "na biblioteca",
"no estádio", "na festa", "na rua", "na cozinha", "no consultório",
"na praia", "na escola", "no escritório", "na cidade", "no campo",
"no parquinho", "na sala de estar", "na rua de trás", "nas montanhas", "no transporte público"
]
def gerar_frase(event=None):
sujeito = random.choice(sujeitos)
verbo = random.choice(verbos)
complemento = random.choice(complementos)
frase = f"{sujeito} {verbo} {complemento}."
resultado_texto.config(text=frase)
def limpar():
resultado_texto.config(text="")
def sair():
root.destroy()
root = Tk()
root.geometry("600x300")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Gerador de Frases Aleatórias")
titulo = Label(text="Gerar Frases Aleatórias",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.23, rely=0.05)
but_gerar = Button(text="Gerar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=gerar_frase)
but_gerar.place(relx=0.1, rely=0.35, relwidth=0.25, relheight=0.15)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.35, relwidth=0.25, relheight=0.15)
but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=sair)
but_sair.place(relx=0.7, rely=0.35, relwidth=0.25, relheight=0.15)
resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.35)
root.bind('<Return>', gerar_frase)
root.mainloop()