Para listar los productos, primero debemos tenerlos en un array o lista. Como cada producto tiene una serie de atributos, la lista que usaremos tendrá por dentro diccionarios, de la siguiente forma:
array_productos = [
{'marca': 'iPhone', 'utilidad_neta': 1500.50, 'fecha_compra': '2021-01-15'},
{'marca': 'Samsung', 'utilidad_neta': 2000.00, 'fecha_compra': '2021-06-24'},
{'marca': 'Motorola', 'utilidad_neta': -500.00, 'fecha_compra': '2021-02-10'},
{'marca': 'Xiaomi', 'utilidad_neta': 750.75, 'fecha_compra': '2021-03-05'},
{'marca': 'Huawei', 'utilidad_neta': 1100.20, 'fecha_compra': '2021-08-30'},
{'marca': 'OnePlus', 'utilidad_neta': 300.40, 'fecha_compra': '2021-07-18'},
{'marca': 'Google Pixel', 'utilidad_neta': -200.00, 'fecha_compra': '2021-09-21'}
]
En este ejemplo, las claves de cada producto son su marca, su utilidad neta y su fecha de compra.
Deberemos iterar entonces por cada elemento del array, para ello utilizaremos un For. Utilizaremos un For porque se recomienda utilizar este tipo de ciclos para iterar sobre listas, tuplas o diccionarios.
for elements inarray_productos:
Una vez se inicie la iteración, agregaremos un condicional para filtrar la utilidad, toda vez que la utilidad sea negativa querremos que nos diga que marca de celular está generando pérdidas.
array_productos = [
{'marca': 'iPhone', 'utilidad_neta': 1500.50, 'fecha_compra': '2021-01-15'},
{'marca': 'Samsung', 'utilidad_neta': 2000.00, 'fecha_compra': '2021-06-24'},
{'marca': 'Motorola', 'utilidad_neta': -500.00, 'fecha_compra': '2021-02-10'},
{'marca': 'Xiaomi', 'utilidad_neta': 750.75, 'fecha_compra': '2021-03-05'},
{'marca': 'Huawei', 'utilidad_neta': 1100.20, 'fecha_compra': '2021-08-30'},
{'marca': 'OnePlus', 'utilidad_neta': 300.40, 'fecha_compra': '2021-07-18'},
{'marca': 'Google Pixel', 'utilidad_neta': -200.00, 'fecha_compra': '2021-09-21'}
]
for elements in array_productos:
if elements['utilidad_neta'] < 0:
print(elements['marca']) # Imprimirá: Motorola Google Pixel
Esto nos revelará la marca de los celulares con rendimiento negativo: