Mundo em Python

Classificação de Crédito

from tkinter import *

# Dicionário com classificação de crédito
rating_credito = {
"AAA": {"classificacao": "Extremamente segura", "texto": "Risco de incumprimento mínimo."},
"A++": {"classificacao": "Extremamente segura", "texto": "Risco de incumprimento mínimo."},
"AA": {"classificacao": "Muito segura", "texto": "Risco muito baixo, ligeiramente inferior ao AAA."},
"A+": {"classificacao": "Muito segura", "texto": "Risco muito baixo, ligeiramente inferior ao AAA."},
"A": {"classificacao": "Segura", "texto": "Risco baixo, pode ser afetada por\n mudanças económicas. Razoavelmente fiável."},
"BBB": {"classificacao": "Moderada", "texto": "Risco médio, pode sofrer impactos de crises.\n Investimento com cuidado."},
"B++": {"classificacao": "Moderada", "texto": "Risco médio, pode sofrer impactos de crises.\n Investimento com cuidado."},
"BB": {"classificacao": "Especulativa", "texto": "Risco elevado, vulnerável a instabilidades. Pode não pagar."},
"B+": {"classificacao": "Especulativa", "texto": "Risco elevado, vulnerável a instabilidades. Pode não pagar."},
"B": {"classificacao": "Altamente especulativa", "texto": "Grande risco de incumprimento. Risco considerável."},
"CCC": {"classificacao": "Perigosa", "texto": "Pode não cumprir as obrigações."},
"CC": {"classificacao": "Perigosa", "texto": "Pode não cumprir as obrigações."},
"C": {"classificacao": "Perigosa", "texto": "Pode não cumprir as obrigações. Quase em incumprimento."},
"D": {"classificacao": "Em incumprimento", "texto": "Não cumpre as obrigações. Default."}
} # Função para mostrar os dados do rating selecionado
def mostrar(*args):
rat = var.get()
dados = rating_credito[rat]
text_area.delete("1.0", END)
text_area.insert(END, f"Rating: {rat}\n")
text_area.insert(END, f"Classificação: {dados['classificacao']}\n")
text_area.insert(END, f"Informação: {dados['texto']}\n") # Configuração da janela Tkinter
root = Tk()
root.geometry("700x300")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Classificação de Crédito") # Título
titulo = Label(root, text="Classificação de Crédito",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.25, rely=0.05) # Subtítulo
texto_sub1 = Label(root, text="Escolha um Rating:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.15, rely=0.32) # Variável para o OptionMenu
var = StringVar()
notas = sorted(rating_credito.keys())
var.set(notas[0]) # Dropdown para selecionar a nota
dropdown = OptionMenu(root, var, *notas)
dropdown.place(relx=0.5, rely=0.33, relwidth=0.4)
dropdown.config(background='#09A3BA', foreground="#FFFFFF",
font=("Arial", 15, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF",
font=("Arial", 13)) # Área de texto para mostrar o resultado
text_area = Text(root, height=10, width=70, font=("Arial", 14))
text_area.place(relx=0.05, rely=0.5,relwidth=0.9) # Atualiza o texto quando a variável muda
var.trace("w", mostrar) # Mostrar o rating inicial
mostrar() root.mainloop()
0