from tkinter import *
root = Tk()
root.geometry("460x500")
root.resizable(0, 0)
root.config(bg="#105ac9")
root.title("Valor Justo da Acção ")
def limpar():
dividendo1_entrada.delete(0, END)
dividendo2_entrada.delete(0, END)
dividendo3_entrada.delete(0, END)
taxa_rentabilidade_entrada.delete(0, END)
resultado.set("")
def app():
d1 =dividendo1.get()
d2 =dividendo2.get()
d3 =dividendo3.get()
tx_rendibilidade = taxa_rentabilidade.get()
tx_rendibilidadepp = tx_rendibilidade/100
dividendos = [d1,d2,d3]
valor_justo = 0
for i, dividendo in enumerate(dividendos):
valor_justo += dividendo / (1 + tx_rendibilidadepp) ** (i + 1)
valor_justop = round(valor_justo,2)
mensagem = f"O valor justo da acção é de {valor_justop}"
resultado.set(mensagem)
titulo = Label(text="Valor Justo da Acção",
font=("Arial", "30", "bold"),bg="#105ac9",fg="#e9f2f1")
titulo.place(relx=0.05, rely=0.05)
texto_sub1 = Label(text="Dividendo 1:",
font=("Arial", "15", "bold"),bg="#105ac9",fg="#e9f2f1")
texto_sub1.place(relx=0.28, rely=0.2)
texto_sub2 = Label(text="Dividendo 2:",
font=("Arial", "15", "bold"),bg="#105ac9",fg="#e9f2f1")
texto_sub2.place(relx=0.28, rely=0.3)
texto_sub3 = Label(text="Dividendo 3:",
font=("Arial", "15", "bold"),bg="#105ac9",fg="#e9f2f1")
texto_sub3.place(relx=0.28, rely=0.4)
texto_sub4 = Label(text="Taxa de Rendibilidade(%):",
font=("Arial", "15", "bold"),bg="#105ac9",fg="#e9f2f1")
texto_sub4.place(relx=0.05, rely=0.5)
dividendo1 = DoubleVar()
dividendo1_entrada = Entry(textvariable=dividendo1,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
dividendo1_entrada.place(relx=0.6, rely=0.2, relwidth=0.3)
dividendo2 = DoubleVar()
dividendo2_entrada = Entry(textvariable=dividendo2,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
dividendo2_entrada.place(relx=0.6, rely=0.3, relwidth=0.3)
dividendo3 = DoubleVar()
dividendo3_entrada = Entry(textvariable=dividendo3,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
dividendo3_entrada.place(relx=0.6, rely=0.4, relwidth=0.3)
taxa_rentabilidade = DoubleVar()
taxa_rentabilidade_entrada = Entry(textvariable=taxa_rentabilidade,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
taxa_rentabilidade_entrada.place(relx=0.6, rely=0.5, relwidth=0.3)
#
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.05, 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.35, 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.65, rely=0.65, relwidth=0.25, relheight=0.1)
resultado = StringVar()
resultado_texto = Label(textvariable=resultado,
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9,relheight=0.15)
root.mainloop()