import random
from tkinter import *
presentes_por_interesse = {
"Livros": [
"Livro de poesia",
"Romance histórico",
"Assinatura de e-books",
"Livro de culinária",
"Livro de autoajuda"
],
"Tecnologia": [
"Smartwatch",
"Fones de ouvido Bluetooth",
"Carregador portátil personalizado",
"Drone com câmara",
"Lâmpada inteligente"
],
"Culinária": [
"Kit de especiarias",
"Workshop de culinária",
"Conjunto de facas gourmet",
"Curso de vinhos",
"Termómetro digital para carnes"
],
"Arte": [
"Conjunto de pintura",
"Curso de desenho",
"Quadro decorativo personalizado",
"Material para artesanato",
"Impressão de arte personalizada"
],
"Fitness": [
"Tapete de yoga",
"Roupas de treino",
"Monitor de atividades físicas",
"Banda elástica para exercício",
"Mala de ginásio"
],
"Viagens": [
"Almofada de pescoço para viagens",
"Mapa-múndi de raspar",
"Voucher de viagem",
"Mochila de viagem",
"Guia de viagem"
],
"Música": [
"Vinil do artista favorito",
"Caixa de som portátil",
"Aulas de música online",
"Instrumento musical",
"Assinatura de serviço de streaming de música"
],
"Cinema": [
"Coleção de filmes clássicos",
"Póster de filme personalizado",
"Ingressos para o cinema",
"Assinatura de streaming de filmes",
"Camiseta de filme"
],
"Moda": [
"Carteira de couro",
"Óculos de sol",
"Cinto de design exclusivo",
"Relógio de pulso",
"Sapatos de marca"
],
"Decoração": [
"Vasos decorativos",
"Candeeiro moderno",
"Almofadas decorativas",
"Espelho personalizado",
"Plantas de interior"
],
"Bem-estar": [
"Kit de aromaterapia",
"Difusor de óleos essenciais",
"Cesta de spa",
"Massageador elétrico",
"Creme de cuidados com a pele"
],
"Animais de Estimação": [
"Cama para animal de estimação",
"Brinquedo interativo para cães",
"Arranhador para gatos",
"Coleira personalizada",
"Assinatura de box para animais de estimação",
"Kit de cuidados para animais de estimação",
"Roupinha para animal de estimação"
]
}
def limpar():
entrada_interesse.delete(0, END)
resultado.config(text="")
def app(event=None):
tema = interesses.get().capitalize()
if tema in ["Livros", "Livro"]:
tema = "Livros"
elif tema in ["Arte", "Artes"]:
tema = "Arte"
elif tema in ["Tecnologia", "Tecnologias"]:
tema = "Tecnologia"
elif tema in ["Culinária", "Culinárias"]:
tema = "Culinária"
elif tema in ["Viagens", "Viagem"]:
tema = "Viagens"
elif tema in ["Música", "Músicas"]:
tema = "Música"
elif tema in ["Cinema", "Cinemas"]:
tema = "Cinema"
elif tema in ["Moda", "Modas"]:
tema = "Moda"
elif tema in ["Decoração", "Decorações"]:
tema = "Decoração"
elif tema in ["Decoração", "Decorações"]:
tema = "Decoração"
if tema in presentes_por_interesse:
presente = random.choice(presentes_por_interesse[tema])
resultado.config(
text=f"Sugestão de presente para quem gosta de {tema}: \n✨ {presente} ✨"
)
else:
temas_disponiveis = ", ".join(presentes_por_interesse.keys())
resultado.config(
text=f"O tema '{tema}' não foi encontrado. Tente um dos seguintes: \n{temas_disponiveis}"
)
root = Tk()
root.geometry("700x500")
root.resizable(0, 0)
root.title("Gerador de Presentes de São Valentim")
root.config(bg="#ffcad4")
# Adicionar o título
titulo = Label(
root,
text="Gerador de Presentes de São Valentim",
font=("Arial", 26, "bold"),
bg="#ffcad4",
fg="#8b0000"
)
titulo.place(relx=0.05, rely=0.05)
# Rótulo de interesse
label_interesse = Label(
root,
text="Insere o interesse da pessoa amada",
font=("Arial", 20, "bold"),
bg="#ffcad4",
fg="#8b0000"
)
label_interesse.place(relx=0.15, rely=0.2)
# Campo de texto para o interesse
interesses = StringVar()
entrada_interesse = Entry(
root,
textvariable=interesses,
font=("Arial", 14),
width=30,
justify="center"
)
entrada_interesse.place(relx=0.25, rely=0.35)
entrada_interesse.bind("<Return>", app)
# Botão Gerar Presente
but1 = Button(
root,
text="Gerar Presente",
bd=2,
bg="#ff69b4",
fg="white",
font=('verdana', 12, 'bold'),
command=app
)
but1.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1)
# Botão Limpar
but_limpar = Button(
root,
text="Limpar",
bd=2,
bg="#ff69b4",
fg="white",
font=('verdana', 12, 'bold'),
command=limpar
)
but_limpar.place(relx=0.4, rely=0.45, relwidth=0.25, relheight=0.1)
# Botão Sair
but_sair = Button(
root,
text="Sair",
bd=2,
bg="#ff69b4",
fg="white",
font=('verdana', 12, 'bold'),
command=root.destroy
)
but_sair.place(relx=0.7, rely=0.45, relwidth=0.25, relheight=0.1)
# Resultado da sugestão
resultado = Label(
root,
text="",
font=("Arial", 12, "bold"),
bg="#f7e4e4",
fg="#8b0000",
wraplength=450,
justify="center"
)
resultado.place(relx=0.05, rely=0.65, relwidth=0.9, relheight=0.15)
rodape = Label(
root,
text="Dica: Experimente interesses como 'Livros', 'Tecnologia', 'Arte', etc.",
font=("Arial", 15, "italic"),
bg="#ffcad4",
fg="#8b0000"
)
rodape.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()