Mundo em Python

Boa hora para ir à praia

from datetime import datetime, timedelta
from tkinter import * root = Tk()
root.geometry("600x350")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Boa hora para ir à praia") titulo = Label(text="Boa hora para ir à praia",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.13, rely=0.05) texto_sub1 = Label(text="",
font=("Arial", 18, "bold"), bg="#103030", fg="#103030")
texto_sub1.place(relx=0.05, rely=0.32, relwidth=0.9) tempo_restante = Label(text="",
font=("Arial", 14), bg="#103030", fg="white")
tempo_restante.place(relx=0.05, rely=0.7, relwidth=0.9)
def calcular_tempo_para(hora_destino):
agora = datetime.now()
destino = agora.replace(hour=hora_destino, minute=0, second=0, microsecond=0)
if destino <= agora:
destino += timedelta(days=1)
delta = destino - agora
horas, resto = divmod(delta.seconds, 3600)
minutos, segundos = divmod(resto, 60)
return f"{horas}h {minutos}min {segundos}s"
def app():
agora = datetime.now().hour
if 12 <= agora < 16:
mensagem = "Horário de pico da radiação ultravioleta,\ncom maior probabilidade de\n causar danos à pele."
texto_sub1.config(text=mensagem, bg="red", fg="white")
proxima_fase = 16

elif 11 <= agora < 12:
mensagem = "Período de maior intensidade solar,\ncom maior risco de queimaduras\n e outros danos à pele."
texto_sub1.config(text=mensagem, bg="yellow", fg="black")
proxima_fase = 12

elif 16 <= agora < 17:
mensagem = "Período de maior intensidade solar,\ncom maior risco de queimaduras\n e outros danos à pele."
texto_sub1.config(text=mensagem, bg="yellow", fg="black")
proxima_fase = 17

elif agora < 10:
mensagem = "O sol ainda não está tão forte,\npermitindo um banho de\n sol mais tranquilo."
texto_sub1.config(text=messagem, bg="green", fg="white")
proxima_fase = 10

elif agora >= 17:
mensagem = ("A temperatura começa a diminuir,\n assim como a intensidade do sol,\n"
"oferecendo um ambiente mais agradável\n para aproveitar a praia.")
texto_sub1.config(text=mensagem, bg="cyan", fg="black")
proxima_fase = 24 # ou 0 para reinício

else:
mensagem = "Fora dos intervalos principais."
texto_sub1.config(text=mensagem, bg="white", fg="black")
proxima_fase = 10
tempo = calcular_tempo_para(proxima_fase)
tempo_restante.config(text=f"Tempo para a próxima fase: {tempo}")
root.after(1000, app)
app()
root.mainloop()
0