Mundo em Python

Prémio de Risco de Mercado

«


from tkinter import *

# Configurações da janela principal
root = Tk()
root.geometry("600x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Prémio de Risco de Mercado") # Título
titulo = Label(root, text="Prémio de Risco de Mercado",
font=("Arial", 25, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.15, rely=0.05) # Subtítulos para os campos de entrada
texto_sub1 = Label(root, text="Rentabilidade esperada do mercado:",
font=("Arial", 15, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25) texto_sub2 = Label(root, text="Rentabilidade do ativo livre de risco:",
font=("Arial", 15, "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.45) # Campos de entrada
Rentabilidade_esperado_mercado = StringVar()
Rentabilidade_esperado_mercado_entrada = Entry(root, textvariable=Rentabilidade_esperado_mercado,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify='center')
Rentabilidade_esperado_mercado_entrada.place(relx=0.68, rely=0.25, relwidth=0.27) Rentabilidade_ativo_livre_risco = StringVar()
Rentabilidade_ativo_livre_risco_entrada = Entry(root, textvariable=Rentabilidade_ativo_livre_risco,
font=("Arial", 12, "bold"),
bg="white", fg="blue", justify='center')
Rentabilidade_ativo_livre_risco_entrada.place(relx=0.68, rely=0.45, relwidth=0.27) # Função para limpar os campos de entrada e o resultado
def limpar():
Rentabilidade_ativo_livre_risco_entrada.delete(0, END)
Rentabilidade_esperado_mercado_entrada.delete(0, END)
resultado_texto.config(text="") # Função para calcular o Prêmio de Risco de Mercado
def calcular():
try:
rm = float(Rentabilidade_esperado_mercado.get())
rf = float(Rentabilidade_ativo_livre_risco.get())
PRM = rm - rf
resultado_texto.config(text=f"Prémio de Risco de Mercado: {PRM:.2f}")
except ValueError:
resultado_texto.config(text="Valor inválido! Insira números válidos.") # Botão para calcular
but_calcular = Button(root, text="Calcular", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=calcular)
but_calcular.place(relx=0.1, rely=0.65, relwidth=0.25, relheight=0.1) # Botão para limpar
but_limpar = Button(root, 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) # Botão para sair
but_sair = Button(root, 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) # Área de resultado
resultado_texto = Label(root, text="", font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15) # Loop principal
root.mainloop()
0