Estação do Ano

from datetime import date
import time
escolha=True
while escolha:
print("\n")
print("\033[1;36m=\033[m"*60)
print("\t\t\t\t\tEstação do Ano")
print("\033[1;36m=\033[m" * 60)
print("""
1.\tEstações do Ano \n
2.\tActual Estação do Ano \n
3.\tEstação do Ano de uma data qualquer\n
4.\tExit/Quit/Saída
""")
escolha= input("Escolha uma opção: ")
if escolha=="1":
time.sleep(2)
print("\n")
print("\033[1;34mPrimavera:\033[m \033[1;93m20 de março a 21 de junho\033[m")
print("\033[1;94mVerão:\033[m \033[1;92m21 de junho a 23 de setembro\033[m")
print("\033[1;91mOutono:\033[m \033[1;33m23 de setembro a 21 de dezembro\033[m")
print("\033[1;96mInverno:\033[m \033[1;34m21 de dezembro a 20 de março\033[m")
time.sleep(2)
elif escolha == "2":
today = date.today()
mes = today.month
dia = today.day
if mes in (1,2,3):
estacao = 'no Inverno'
elif mes in (4,5,6):
estacao = 'na Primavera'
elif mes in (7, 8, 9):
estacao = 'no Verão'
else:
estacao = 'no Outubro'
if (mes ==4) and (dia > 19):
estacao = 'na Primavera'
elif (mes == 6) and (dia > 20):
estacao = 'no Verão'
elif (mes == 9) and (dia > 21):
estacao = 'no Outubro'
elif (mes == 12) and (dia > 20):
estacao = 'no Inverno'
time.sleep(3)
print(f"\n\033[1;93mEstamos {estacao}.\033[m")
time.sleep(2)
elif escolha == "3":

dia1 = int(input("Digite o dia do mês: "))
mes1 = int(input("Digite o número do mês: "))
if mes1 in (1,2,3):
estacao1 = 'o Inverno'
elif mes1 in (4,5,6):
estacao1 = 'a Primavera'
elif mes1 in (7, 8, 9):
estacao1 = 'o Verão'
else:
estacao1 = 'o Outubro'
if (mes1 ==4) and (dia1 > 19):
estacao1 = 'a Primavera'
elif (mes1 == 6) and (dia1 > 20):
estacao1 = 'o Verão'
elif (mes1 == 9) and (dia1 > 21):
estacao1 = 'o Outubro'
elif (mes1 == 12) and (dia1 > 20):
estacao1 = 'o Inverno'
if mes1==1:
nome_mês = "Janeiro"
elif mes1==2:
nome_mês = "Fevereiro"
elif mes1 == 3:
nome_mês = "Março"
elif mes1 == 4:
nome_mês = "Abril"
elif mes1 == 5:
nome_mês = "Maio"
elif mes1 == 6:
nome_mês = "Junho"
elif mes1 == 7:
nome_mês = "Julho"
elif mes1 == 8:
nome_mês = "Agosto"
elif mes1 == 9:
nome_mês = "Setembro"
elif mes1 == 10:
nome_mês = "Outubro"
elif mes1 == 11:
nome_mês = "Novembro"
else:
nome_mês = "Dezembro"


print(f"\n\033[1;34mNo dia {dia1} do mês {nome_mês} a estação do ano é {estacao1}.\033[m")
elif escolha=="4":
print("\n Fim do Programa")
escolha = None
else:
print("\n Escolha não válida.\n Tente outra vez.")

#Outra Versão


from tkinter import *


def estacao_do_ano(dia, mes, hemisferio):
try:
dia = int(dia)
mes = int(mes)
if mes < 1 or mes > 12:
return "Mês inválido!"

if dia < 1 or (mes == 2 and dia > 29) or (mes in (4, 6, 9, 11) and dia > 30) or (
mes in (1, 3, 5, 7, 8, 10, 12) and dia > 31):
return "Dia inválido para este mês!"

if hemisferio == 1: # Hemisfério Norte
zona = "no Hemisfério Norte"
if mes in (1, 2, 3):
estacao = 'Inverno'
elif mes in (4, 5, 6):
estacao = 'Primavera'
elif mes in (7, 8, 9):
estacao = 'Verão'
else:
estacao = 'Outono'

if (mes == 4 and dia > 19) or (mes == 6 and dia > 20) or\
(mes == 9 and dia > 21) or (mes == 12 and dia > 20):
estacao = 'Primavera' if mes == 4 else 'Verão' \
if mes == 6 else 'Outono' if mes == 9 else 'Inverno'
else: # Hemisfério Sul
zona = "no Hemisfério Sul"
if mes in (1, 2, 3):
estacao = 'Verão'
elif mes in (4, 5, 6):
estacao = 'Outono'
elif mes in (7, 8, 9):
estacao = 'Inverno'
else:
estacao = 'Primavera'
if (mes == 4 and dia > 19) or (mes == 6 and dia > 20) or \
(mes == 9 and dia > 21) or (mes == 12 and dia > 20):
estacao = 'Outono' if mes == 4 else 'Inverno' \
if mes == 6 else 'Primavera' if mes == 9 else 'Verão'

return f"A estação do ano no dia {dia}/{mes} é {estacao} {zona}"
except ValueError:
return "Erro de digitação!"


def mostrar_resultado():
resultado_texto.config(text=estacao_do_ano(dia.get(), mes.get(), hemisferio.get()))


def limpar():
dia_entry.delete(0, END)
mes_entry.delete(0, END)
resultado_texto.config(text="")


root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Estação do ano")

titulo = Label(text="Estação do ano",
font=("Arial", "30", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.13, rely=0.05)

texto_sub1 = Label(text="Dia:",
font=("Arial", "20", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.25, rely=0.3)

texto_sub2 = Label(text="Mês:",
font=("Arial", "20", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.25, rely=0.45)

hemisferio = IntVar()
norte_button = Radiobutton(root, text="Hemisfério Norte", variable=hemisferio, value=1,
font=("Arial", "15"), bg="#103030", fg="white")
norte_button.place(relx=0.05, rely=0.15)
sul_button = Radiobutton(root, text="Hemisfério Sul", variable=hemisferio, value=0,
font=("Arial", "15"), bg="#103030", fg="white")
sul_button.place(relx=0.6, rely=0.15)

dia = StringVar()
dia_entry = Entry(textvariable=dia,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
dia_entry.place(relx=0.5, rely=0.31, relwidth=0.25)
dia_entry.focus()

mes = StringVar()
mes_entry = Entry(textvariable=mes,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
mes_entry.place(relx=0.5, rely=0.46, relwidth=0.25)

but1 = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=mostrar_resultado)
but1.place(relx=0.1, rely=0.55, 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.55, 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.55, relwidth=0.25, relheight=0.1)

resultado_texto = Label(font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.68, relwidth=0.9, relheight=0.3)

root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação