Created
March 9, 2022 13:58
-
-
Save moisespsena/21bd9319f9541c8be32d44ca0c19f36a to your computer and use it in GitHub Desktop.
Cálculo de estoque para mistos, com base no valor total e percentuais do item de referência
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def calc(valor_pago, qnts_pcts): | |
qnt_a = qnts_pcts[0][0] | |
z = qnt_a + sum([v[0] * v[1] for v in qnts_pcts[1:]]) | |
v_a = valor_pago / z | |
ret = [v_a] + [v_a * v[1] for v in qnts_pcts[1:]] | |
return ret | |
# quantidades e percentuais | |
qnts_pcts = [ | |
# qnt, pct | |
[5, 1], # primeiro valor, o pct é sempre 1 | |
[3, .8], # demais, é o percentual em relação ao primeiro | |
[2, .7] | |
] | |
valor_pago = 100 | |
unitarios = calc(valor_pago, qnts_pcts) | |
print("unitarios: ", ", ".join([chr(ord('A') + i) + ": " + str(unitarios[i]) for i in range(len(qnts_pcts))])) | |
print("totais: ", ", ".join([chr(ord('A') + i) + ": " + str(v * qnts_pcts[i][0]) for i, v in enumerate(unitarios)])) | |
print("total: ", sum([v * qnts_pcts[i][0] for i, v in enumerate(unitarios)])) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment