Mundo em Python

Dia dos Reis

import random
from datetime import datetime
from tkinter import *
from tkinter import scrolledtext # Listas de mensagens dos Três Reis Magos
mensagens_gaspar = [
"Que a tua vida seja sempre iluminada pela sabedoria.",
"Que cada decisão que tomes seja guiada pelo conhecimento e pela luz.",
"Desejo que a tua curiosidade e aprendizado nunca tenham fim.",
"Que nunca te falte inspiração para crescer e aprender.",
"Que os teus sonhos sejam sempre acompanhados de sabedoria.",
"Que o conhecimento te guie em todas as tuas escolhas.",
"Que a reflexão e a prudência te acompanhem neste novo ano.",
"Que a tua mente esteja aberta a novas descobertas e ideias.",
"Que cada dia seja uma oportunidade de aprender algo novo.",
"Que a tua sabedoria ilumine a vida daqueles que te rodeiam."
] mensagens_belchior = [
"Que a alegria e a amizade estejam sempre presentes na tua vida.",
"Que os momentos felizes se multipliquem todos os dias.",
"Desejo que cada passo teu seja cheio de energia positiva e riso.",
"Que o amor e a felicidade encham todos os teus dias.",
"Que cada encontro seja repleto de sorrisos e boas memórias.",
"Que a tua vida seja cheia de pequenas alegrias diárias.",
"Que a bondade e o carinho guiem todos os teus gestos.",
"Que os teus dias sejam iluminados por momentos de pura felicidade.",
"Que possas partilhar alegria e entusiasmo com todos à tua volta.",
"Que a tua felicidade seja contagiante para todos que te conhecem."
] mensagens_baltazar = [
"Que a paz e a saúde estejam sempre contigo e com os teus.",
"Que a prosperidade acompanhe todos os teus projetos neste novo ano.",
"Desejo-te equilíbrio, serenidade e harmonia em cada dia.",
"Que a tua vida seja repleta de estabilidade e segurança.",
"Que a tranquilidade e a serenidade façam parte do teu caminho.",
"Que os desafios do dia a dia sejam sempre superados com calma.",
"Que a tua saúde se mantenha forte e duradoura ao longo do ano.",
"Que a tua vida seja cheia de momentos de descanso e bem-estar.",
"Que a sorte e a abundância acompanhem todos os teus esforços.",
"Que a harmonia e a paz interior estejam sempre presentes."
] # Criar a janela principal
root = Tk()
root.geometry("750x550")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Mensagem de Dia dos Reis") # Título
titulo = Label(
text="Mensagem de Dia dos Reis",
font=("Arial", 28, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.13, rely=0.05) # Texto para nome
texto_sub1 = Label(
text="Nome:",
font=("Arial", 18, "bold"),
bg="#103030",
fg="#49e3e3"
)
texto_sub1.place(relx=0.2, rely=0.25) # Entrada do nome
Nome = StringVar()
Nome_entrada = Entry(
textvariable=Nome,
font=("Arial", 12, "bold"),
bg="white",
fg="blue",
justify='center'
)
Nome_entrada.place(relx=0.4, rely=0.26, relwidth=0.45) # Função para limpar entrada e resultado
def limpar():
Nome_entrada.delete(0, END)
resultado_texto.delete(1.0, END) # Função para gerar mensagem
def app():
nome = Nome.get()
if not nome.strip():
nome = "Amigo" # Nome padrão se o utilizador não inserir nada

# Escolher mensagens aleatórias
msg_gaspar = random.choice(mensagens_gaspar)
msg_belchior = random.choice(mensagens_belchior)
msg_baltazar = random.choice(mensagens_baltazar) # Saudação baseada na hora
hora_atual = datetime.now().hour
if 5 <= hora_atual < 12:
saudacao = "Bom dia"
elif 12 <= hora_atual < 18:
saudacao = "Boa tarde"
else:
saudacao = "Boa noite"

mensagem_final = (
f"{saudacao}, {nome}!Feliz Dia de Reis! \n\n"
f"Os Três Reis Magos têm mensagens especiais para ti:\n\n"
f"Gaspar diz: {msg_gaspar}\n"
f"Belchior diz: {msg_belchior}\n"
f"Baltazar diz: {msg_baltazar}\n\n"
"Que cada dia seja iluminado tal como a estrela que guiou os Reis Magos.\n\n"
"Com os melhores votos,\n"
"A sua equipa amiga."
) # Inserir no ScrolledText
resultado_texto.delete(1.0, END) # Limpar antes de inserir
resultado_texto.insert(END, mensagem_final) # Botões
but1 = Button(
text="Mostrar",
bd=2,
bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=app
)
but1.place(relx=0.1, rely=0.4, relwidth=0.25, relheight=0.1) 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.4, relwidth=0.25, relheight=0.1) but_sair = Button(
text="Sair",
bd=2,
bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=root.destroy
)
but_sair.place(relx=0.7, rely=0.4, relwidth=0.25, relheight=0.1) resultado_texto = scrolledtext.ScrolledText(
root,
font=("Arial", 12, "bold"),
bg="#cfe2f3",
fg="black",
wrap=WORD
)
resultado_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.35) root.mainloop()
0