otra solución
hola compañeros, estaba tratando de hacer el código más optimo y no se si estará bien, pero lo que hice fue omitir la variable costopedido=0, por costo=0 dentro de la función pero fuera del bucle y pues sin la necesidad de poner costopedido=0 a fuera pues me dio el mismo resultado y cada vez que llamo a la función pues no se duplican los datos, saludos.
