Mundo em Python

Conversor de Notas (usando Tkinter)

from tkinter import *
from tkinter import ttk root = Tk()
class appconverter():
def __init__(self):
self.root = root
self.janela()
self.frames_da_janela()
self.widgets_frame1()
self.Menus()
root.mainloop() def janela(self):
self.root.title("Conversor de Notas ")
self.root.configure(background='#1e3743')
self.root.geometry("400x250")
self.root.resizable(0, 0) def frames_da_janela(self):
self.frame_1 = Frame(self.root, bd=4,
bg='#dfe3ee',
highlightbackground='#759fe6',
highlightthickness=2)
self.frame_1.place(relx=0.02, rely=0.02,
relwidth=0.96, relheight=0.96) def widgets_frame1(self):
self.abas = ttk.Notebook(self.frame_1)
self.letra_para_numero = Frame(self.abas)
self.numero_para_letra = Frame(self.abas) self.letra_para_numero.configure(background="#dfe3ee")
self.numero_para_letra.configure(background="#dfe3ee") self.abas.add(self.letra_para_numero, text="Letra para número")
self.abas.add(self.numero_para_letra, text="Número para letra")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98)
# Letra para número
self.letra = StringVar()
self.lb_letra = Label(self.letra_para_numero,
text="Letras"
, bg='#dfe3ee', fg='#107db2', font=("Arial", "15", "bold"))
self.lb_letra.place(relx=0.2, rely=0.05)
self.letra_entry = Entry(self.letra_para_numero,
textvariable=self.letra,
justify='center', font=("Arial", "15", "bold"))
self.letra_entry.place(relx=0.4, rely=0.05, relwidth=0.35)
self.bt_calcular1 = Button(self.letra_para_numero, text="Calcular",
bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'),
command=self.butaoclick1)
self.bt_calcular1.place(relx=0.3, rely=0.3, relwidth=0.45, relheight=0.2)
self.resultado1 = StringVar()
self.lb_resultado1 = Label(self.letra_para_numero,
textvariable=self.resultado1, font=("Arial", "13", "bold"),
bg='#dfe3ee', fg='#107db2')
self.lb_resultado1.place(relx=0.05, rely=0.7,relwidth=0.9, relheight=0.2)
# numero_para_letra
self.numero = StringVar()
self.lb_numero = Label(self.numero_para_letra,
text=" Número: ",
bg='#dfe3ee', fg='#107db2', font=("Arial", "15", "bold"))
self.lb_numero.place(relx=0.15, rely=0.15)
self.numero_entry = Entry(self.numero_para_letra,
textvariable=self.numero,
justify='center', font=("Arial", "13", "bold"))
self.numero_entry.place(relx=0.45, rely=0.15, relwidth=0.35)
# Butão de Calcular
self.bt_calcular2 = Button(self.numero_para_letra, text="Calcular", bd=2, bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
, command=self.butaoclick2)
self.bt_calcular2.place(relx=0.3, rely=0.38, relwidth=0.45, relheight=0.2)
# Resultado
self.resultado2 = StringVar()
self.resultado2_label = Label(self.numero_para_letra,
textvariable=self.resultado2, font=("Arial", "13", "bold"))
self.resultado2_label.place(relx=0.1, rely=0.8, relwidth=0.8) def butaoclick1(self):
l = self.letra.get().upper()
if l in ['A', 'B', 'C', 'D', 'F']:
if l == 'A':
intervalo1, intervalo2 = 90, 100
elif l == 'B':
intervalo1, intervalo2 = 80, 89
elif l == 'C':
intervalo1, intervalo2 = 70, 79
elif l == 'D':
intervalo1, intervalo2 = 60, 69
else:
intervalo1, intervalo2 = 0, 59
mensagem = f"A nota '{l}' corresponde ao intervalo:\n {intervalo1}-{intervalo2}"
else:
mensagem = "Nota inválida. Por favor, insira uma letra válida (A-F)."

self.resultado1.set(mensagem)
def butaoclick2(self):
try:
n = int(self.numero.get())
if 90 <= n <= 100:
self.resultado2.set(f"A nota '{n}' corresponde à letra A.")
elif 80 <= n <= 89:
self.resultado2.set(f"A nota '{n}' corresponde à letra B.") elif 70 <= n <= 79:
self.resultado2.set(f"A nota '{n}' corresponde à letra C.")
elif 60 <= n <= 69:
self.resultado2.set(f"A nota '{n}' corresponde à letra D.")
elif 0 <= n <= 59:
self.resultado2.set(f"A nota '{n}' corresponde à letra F.")
else:
self.resultado2.set("Nota inválida")
except ValueError:
self.resultado2.set("Erro de Digitação!")
def Quit(self):
self.root.destroy()
def Menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.Quit)
appconverter()
0