Mundo em Python

Calcular sextas-feira 13

from tkinter import *
import datetime # Configuração da janela principal
root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calcular sextas-feira 13 ") # Título da aplicação
titulo = Label(text="Calcular sextas-feira 13",
font=("Arial", "25", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05) # Label e entrada para o ano
texto_sub1 = Label(text="Ano :",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.2, rely=0.25) Ano = StringVar()
Ano_entrada = Entry(textvariable=Ano,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Ano_entrada.place(relx=0.46, rely=0.25, relwidth=0.35)
Ano_entrada.focus() # Função para limpar os campos
def limpar():
Ano_entrada.delete(0, END)
resultado_texto.config(text="") # Função principal do aplicativo
def app():
try:
ano = int(Ano.get())
sextas_13 = []
for mes in range(1, 13):
data = datetime.date(ano, mes, 13)
if data.weekday() == 4: # 4 representa sexta-feira
sextas_13.append(data)
if sextas_13:
mensagem = f"Em {ano}, as seguintes datas caem em uma \nsexta-feira 13:\n"
for data in sextas_13:
mensagem += data.strftime("%d/%m/%Y") + "\n"
else:
mensagem = f"Em {ano}, não há sextas-feiras 13."
resultado_texto.config(text=mensagem)
except ValueError:
resultado_texto.config(text="Valor digitado errado!") # Função para bind das setas para cima e para baixo (Exemplo)
def show_previous(event):
# Adicione a lógica necessária para o comportamento de 'Up' se precisar
pass

def show_next(event):
# Adicione a lógica necessária para o comportamento de 'Down' se precisar
pass

# Botão para calcular
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1) # Botão para limpar os campos
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) # Botão para sair da aplicação
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) # Texto de resultado
resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3", anchor="nw", justify="left")
resultado_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.35) # Bind da tecla "Enter" para ativar o botão 'Calcular'
root.bind('<Return>', lambda event: app()) root.mainloop()
0