Python - Calcular promedio y cantidad de artículos menores a este

 
Vista:

Calcular promedio y cantidad de artículos menores a este

Publicado por Robert (1 intervención) el 16/03/2019 02:35:59
Buenas, me asignaron un problema para resolverlo con el lenguaje Python, el mismo consiste en calcular el promedio de unos artículos y su cantidad (el usuario los provee), para luego determinar cuáles son los artículos cuya cantidad existente es menor al promedio del total de estos.

En sí, el problema es este:

Un usuario le va indicar la siguiente información:

Una lista de nombres artículos y la cantidad de existencias de estos

La cantidad de elementos es variable.

Con estos datos, usted debe imprima un listado por pantalla, aplicando un filtrado, en el que se muestren solo aquellos artículos cuya cantidad sea menor al promedio de las cantidad introducidas.

He tratado de realizarlo, pero me quedo en la parte de selecionar los artículos con cantidades menores que el promedio.

Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def main():
 
N = int(raw_input("Cantidad de articulos: "))
 
if (N > 0):
 
L = [] #Lista
 
S = 0 #Suma
 
P = 0.0 #Promedio
 
for i in range(N):
 
A = str(raw_input("Articulo : "))
 
C = int(raw_input("Cantidad : "))
 
S = S + C
L.append((A,C))
P = S / N
return
 
 
 
main()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Calcular promedio y cantidad de artículos menores a este

Publicado por tincopasan (1082 intervenciones) el 16/03/2019 04:16:45
ah, ¿y tiene qué ser con listas? porque es mejor con diccionarios para mí.
No tengo ganas de escribir mucho y menos con sintaxis de python 2.7(no lo uso más) así que te muestro con diccionarios, si te sirve adaptalo a tus necesidades.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#-*- coding: utf -8 -*-
articulos ={}
cuantos = int(input("Cantidad de articulos: "))
suma = 0
lista={}
for x in range(cuantos ):
    articulo=input("articulo: ")
    cantidad = int(input("cantidad: "))
    articulos[articulo]= cantidad
 
for x in articulos:
    suma+= articulos[x]
 
promedio = suma / len(articulos)
 
for y in articulos:
    if articulos[y] < promedio:
        lista[y]=articulos[y]
print(lista)

se puede hacer más corto, pero quice que sea más entendible.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar