Cálculo da média final

from tkinter import *
root = Tk()
root.geometry("800x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Cálculo da média final")
titulo = Label(text="Cálculo da média final",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.23, rely=0.05)

texto_sub1 = Label(text="Nota contínua (avaliação ao longo do ano):",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.3)

texto_sub2 = Label(text="Nota do exame nacional:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.31, rely=0.5)

Nota_contínua = StringVar()
Nota_contínua_entrada = Entry(textvariable=Nota_contínua,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify='center')
Nota_contínua_entrada.place(relx=0.7, rely=0.31, relwidth=0.2)

Nota_exame_nacional = StringVar()
Nota_exame_nacional_entrada = Entry(textvariable=Nota_exame_nacional,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify='center')
Nota_exame_nacional_entrada.place(relx=0.7, rely=0.51, relwidth=0.2)

def limpar():
Nota_exame_nacional_entrada.delete(0, END)
Nota_contínua_entrada.delete(0, END)
resultado_texto.config(text="")

def app():
try:
nota_exame = float(Nota_exame_nacional.get())
nota_continua = float(Nota_contínua.get())
if nota_exame > 20 or nota_continua > 20 or nota_exame < 0 or nota_continua < 0:
mensagem = "As notas devem estar entre 0 e 20."
else:
media_final = (nota_continua * 0.4) + (nota_exame * 0.6)
if media_final >= 9.5:
situacao = "Situação: Aprovado "
else:
situacao = "Situação: Reprovado "
mensagem = f"Média Final: {media_final:.2f}\n{situacao}"

resultado_texto.config(text=mensagem)
except ValueError:
resultado_texto.config(text="Erro: Insira apenas números válidos nas notas.")

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

resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação