quinta-feira, 27 de março de 2025

Matemática para a vida 002 - Código Python

Código Python implementado para o cálculo do preço de venda



Código em Python, fonte Gemini

Link código python: 002 - preco de venda.py

import tkinter as tk

def calcular_preco_venda():
    try:
        custo = float(custo_entry.get())
        icms = float(icms_entry.get()) / 100
        pis = float(pis_entry.get()) / 100
        cofins = float(cofins_entry.get()) / 100
        margem_lucro = float(margem_entry.get()) / 100

        aliquota_total = icms + pis + cofins
        preco_venda = custo / (1 - aliquota_total - margem_lucro)

        resultado_label.config(text=f"Preço de Venda: R$ {preco_venda:.2f}")
    except ValueError:
        resultado_label.config(text="Entrada inválida. Verifique os valores.")

# Configuração da janela principal
janela = tk.Tk()
janela.title("Calculadora de Preço de Venda")

# Labels e Entries para custo, tributos e margem
tk.Label(janela, text="Custo do Produto:").grid(row=0, column=0, sticky="w")
custo_entry = tk.Entry(janela)
custo_entry.grid(row=0, column=1)

tk.Label(janela, text="ICMS (%):").grid(row=1, column=0, sticky="w")
icms_entry = tk.Entry(janela)
icms_entry.grid(row=1, column=1)
icms_entry.insert(0, "18")  # Valor padrão

tk.Label(janela, text="PIS (%):").grid(row=2, column=0, sticky="w")
pis_entry = tk.Entry(janela)
pis_entry.grid(row=2, column=1)
pis_entry.insert(0, "1.65")  # Valor padrão

tk.Label(janela, text="COFINS (%):").grid(row=3, column=0, sticky="w")
cofins_entry = tk.Entry(janela)
cofins_entry.grid(row=3, column=1)
cofins_entry.insert(0, "7.6")  # Valor padrão

tk.Label(janela, text="Margem de Lucro (%):").grid(row=4, column=0, sticky="w")
margem_entry = tk.Entry(janela)
margem_entry.grid(row=4, column=1)
margem_entry.insert(0, "30") #Valor padrão

# Botão para calcular
calcular_button = tk.Button(janela, text="Calcular", command=calcular_preco_venda)
calcular_button.grid(row=5, column=0, columnspan=2)

# Label para exibir o resultado
resultado_label = tk.Label(janela, text="")
resultado_label.grid(row=6, column=0, columnspan=2)

# Ajuste da largura das colunas
janela.grid_columnconfigure(0, minsize=150)  # Aumenta a largura da coluna 0

janela.mainloop()

Nenhum comentário:

Postar um comentário