En esta oportunidad vamos a leer una cadena de datos conteniendo: Nombre de producto, preio unitario, cantidad y tipo de descuento; todos ellos separado por un punto y coma: ";".
Vamos a leer un conjunto de n registros, almacenarlos a cada uno de ellos en arreglos, procesarlos después de leerlos y finalmente imprimirlos. Si el tipo de descuento = 1 se aplica el 5%, si es igual a 2, se aplica el 10%, en caso contrario es del 15% de la venta bruta.
Abra un nuevo archivo para guardar el código con el nombre mymod13.py.
Empezamos cargando a memoria a numpy
import numpy as np
Declaramos las listas
prod = []
prUnit = []
Cantidad = []
vBruta = []
vNeta = []
mDesc = []
Leemos el número de registros a procesar y lo dejamos en n y luego, usando un for leemos la cadena, la separamos cada item del registro, la guardamos (con append) en listas y repetimos la lectura hasta que se termine el for.
n = int(Input("Nro de datos a prcesar: "))
for i in range(n):
cad = input("Registro "+str(i)+": ")
cad = cad.split(";")
prod.append(cad[0])
prUnit.append(float(cad[1]))
cantidad.append(int(cad[2]))
tipoDesc.append(int(cad[3]))
#
for i in range(n):
vBruta.append(prUnit[i]*cantidad[i])
if tipoDesc[i] == 1:
desc = 0.05
elif tipoDesc[i] == 2:
desc = 0.10
else:
desc = 0.15
vNeta.append(vBruta[i]-vBruta[i]*desc+vBruta[i]*0.18)
mDesc.append(vBruta[i]*desc)
print("\n\nListado de ventas")
for i in range(n):
print(" {0:20s}{1:8.2f} {2:4d} {3:7.2f} {4:8.2f} {5:8.2f}".format(prod[i],prUnit[i],cantidad[i],vBruta[i],vNeta[i],mDesc[i]))
La siguiente imagen contiene el código.