Mundo em Python

Horóscopo Diário (usando tkinter)

import random
import datetime
from tkinter import * signos = [
"Carneiro", "Touro", "Gémeos", "Caranguejo", "Leão", "Virgem",
"Balança", "Escorpião", "Sagitário", "Capricórnio", "Aquário", "Peixes"
] previsoes = {
"Amor": [
"Hoje é um bom dia para fortalecer as relações próximas.",
"A sinceridade será a chave para resolver\n um mal-entendido.",
"O teu coração pede atenção, não tenhas medo\n de mostrar os teus sentimentos.",
"É o momento de dar mais atenção à pessoa amada.\n Pequenos gestos falam mais do que palavras.",
"Poderás encontrar a verdadeira harmonia no teu\n relacionamento, se houver compreensão mútua.",
"A comunicação é a chave para resolver qualquer\n conflito. Escuta com o coração.",
"Hoje, o teu charme estará em alta.\n Usa-o a teu favor para fortalecer a tua relação.",
"Se estás solteiro, o dia favorece encontros \ninesperados. Esteja atento a novas possibilidades.",
"O amor está à tua porta, mas só o encontrarás\n se estiveres disposto a dar o primeiro passo."
],
"Saúde": [
"Não te esqueças de cuidar da tua\n saúde mental, relaxa e medita.",
"Hoje é um bom dia para te focares\n na tua alimentação.",
"A tua energia estará em alta,\n aproveita para praticar exercício.",
"Hoje é um bom dia para iniciar uma rotina\n de meditação. A tua mente precisa de paz.",
"Cuida da tua alimentação. O que colocas no\n corpo tem impacto no teu bem-estar.",
"O exercício físico vai ser um bom aliado\n para melhorar o teu estado de espírito.",
"A tua energia estará em alta, mas não te\n esqueças de descansar para evitar o esgotamento.",
"Cuida da tua saúde emocional tanto quanto\n da tua saúde física. O equilíbrio é essencial.",
"Uma boa noite de sono vai recarregar as\n tuas energias para os desafios que vêm a seguir."
],
"Trabalho": [
"A tua dedicação será notada, não\n hesites em partilhar as tuas ideias.",
"Hoje será um bom dia para iniciar novos projetos.",
"Mantém o foco, e evitarás distrações\n que possam atrasar o teu progresso.",
"O teu esforço não passará despercebido.\n Receberás reconhecimento pelos teus feitos.",
"É um bom momento para reorganizar as tuas\n prioridades profissionais. Define objetivos claros.",
"Hoje, as tuas ideias criativas serão\n bem recebidas. Não hesites em partilhar as tuas sugestões.",
"A tua capacidade de trabalhar em equipa\n será essencial para o sucesso de um projeto importante.",
"Evita sobrecarregar-te com demasiadas tarefas.\n Organiza-te para ter sucesso.",
"Novas oportunidades de crescimento profissional\n podem surgir, por isso fica atento ao que acontece à tua volta."
]
} root = Tk()
root.geometry("500x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Horóscopo Diário") titulo = Label(text="Signos",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.35, rely=0.05) texto_sub1 = Label(text="Escolher signo:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25) var = StringVar()
var.set(signos[0])
dropdown = OptionMenu(root, var, *signos)
dropdown.place(relx=0.5, rely=0.25, relwidth=0.4)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 15, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 15, "bold")) def mostrar_horoscopo():
signo = var.get()
categoria = categoria_var.get()
previsao = random.choice(previsoes[categoria])
data = datetime.datetime.now().strftime("%d/%m/%Y")
mensagem = f"Horóscopo de {signo} para {data}:\nCategoria: {categoria}\n\n{previsao}"
resultado_texto.config(text=mensagem) def limpar():
resultado_texto.config(text="") categoria_var = StringVar()
categoria_var.set("Amor")
dropdown_categoria = OptionMenu(root, categoria_var, "Amor", "Saúde", "Trabalho")
dropdown_categoria.place(relx=0.5, rely=0.35, relwidth=0.4)
dropdown_categoria.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 15, "bold"))
dropdown_categoria["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 15, "bold")) # Botões
but_mostrar = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=mostrar_horoscopo)
but_mostrar.place(relx=0.1, rely=0.45, 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.45, 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.45, relwidth=0.25, relheight=0.1) # Resultado
resultado_texto = Label(
text="",
font=("Arial", 12, "bold"),
bg="#cfe2f3",
justify="left",
anchor="nw"
)
resultado_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.3) root.mainloop()
0