{{ message }}
Te dejo unos comentarios!#1
Open
hhvergara wants to merge 1 commit into
Open
Conversation
Tenes que repasar la lógica del ej2(), fijate que no estás usando el diccionario de marzo! y el bucle lo estas planteando solo para enero.
El ejercicio no te pide que especifiques qué mes es, así que no hace falta que lo pongas ;)
Te dejo una posible resolución:
stock = []
for i in range(3):
tornillos = int(input(f'Ingrese la cantidad de tornillos para este mes ({i}): \n'))
tuercas = int(input(f'Ingrese la cantidad de tuercas para este mes ({i}): \n'))
arandelas = int(input(f'Ingrese la cantidad de arandelas para este mes ({i}): \n'))
mes = {'tornillos': tornillos,
'tuercas': tuercas, 'arandelas': arandelas}
stock.append(mes)
print(stock)
Fijate que dentro del for, pido que vayas ingresando los valores de tuercas, tornillos y arandelas. luego eso lo pongo dentro de mi diccionario aprovechando que las keys tienen los mismos nombres que los values, entonces me queda por ejemplo "tuercas" : tuercas. Luego hago un append a la lista de stock, que agrega ese diccionario de esa vuelta del bucle a mi lista. Como la lista tiene un rango de 3, la iteración va a ser de 3.
Es una opción, te la dejo para que la analices!
En el ejercicio N°3 estás sumando tuercas, no los tornillos, es por eso que te da 500 de resultado y no 445.
Por otra parte estás haciendo la lectura como una serie de listas, cuando el ejercicio es de diccionarios XD tenes que usar el método DictReader, como vimos en clase:
# Abrir un archivo CSV
csvfile = open('stock.csv')
# Leer todos los datos y almacenarlos en una
# lista de diccionarios
stock= list(csv.DictReader(csvfile))
Entonces despues podes hacer el for sobre la lista de diccionarios:
with open('stock.csv') as csvfile:
# Abrir un archivo CSV
# Leer todos los datos y almacenarlos en una
# lista de diccionarios
stock= list(csv.DictReader(csvfile))
stock_tornillos = 0
for diccionario in stock:
stock_tornillos += int(diccionario.get('tornillos'))
Fijate que también paso a int() lo que levanto del diccionario, porque me está levantando strings sino.
Y por ultimo, no hace falta el file.close() si estás trabajando con el with open(), eso hace que la aplicación crashee
En el ejercicio N°4 como en el 3 estás trabajando los diccionarios como listas. Esto hace mucho más difícil hacer la lógica. Tenes que utilizar DictReader, así podes despues utilizar el .get('lo_que_me_interesa'). Por ejemplo, vos podes traerte la key "ambientes" de tu diccionario, con un for en la lista de diccionarios:
with open('propiedades.csv') as csvfile:
# Abrir un archivo CSV
# Leer todos los datos y almacenarlos en una
# lista de diccionarios
propiedades= list(csv.DictReader(csvfile))
ambientes_2 = 0
ambientes_3 = 0
for propiedad in propiedades:
ambientes = propiedad.get('ambientes')
if ambientes == '2':
ambientes_2 += 1
if ambientes == '3':
ambientes_3 += 1
print("Cantidad de propiedades de 2 ambientes: ", ambientes_2 )
print("Cantidad de propiedades de 3 ambientes: ", ambientes_3 )
Te dejo los ejercicios para que los evalúes, y que los vayas ejecutando!
Un abrazo grande, cualquier cosa nos vamos hablando :D
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Tenes que repasar la lógica del ej2(), fijate que no estás usando el diccionario de marzo! y el bucle lo estas planteando solo para enero.
El ejercicio no te pide que especifiques qué mes es, así que no hace falta que lo pongas ;)
Te dejo una posible resolución:
stock = []
for i in range(3):
tornillos = int(input(f'Ingrese la cantidad de tornillos para este mes ({i}): \n'))
tuercas = int(input(f'Ingrese la cantidad de tuercas para este mes ({i}): \n'))
arandelas = int(input(f'Ingrese la cantidad de arandelas para este mes ({i}): \n'))
Fijate que dentro del for, pido que vayas ingresando los valores de tuercas, tornillos y arandelas. luego eso lo pongo dentro de mi diccionario aprovechando que las keys tienen los mismos nombres que los values, entonces me queda por ejemplo "tuercas" : tuercas. Luego hago un append a la lista de stock, que agrega ese diccionario de esa vuelta del bucle a mi lista. Como la lista tiene un rango de 3, la iteración va a ser de 3.
Es una opción, te la dejo para que la analices!
En el ejercicio N°3 estás sumando tuercas, no los tornillos, es por eso que te da 500 de resultado y no 445.
Por otra parte estás haciendo la lectura como una serie de listas, cuando el ejercicio es de diccionarios XD tenes que usar el método DictReader, como vimos en clase:
# Abrir un archivo CSV
csvfile = open('stock.csv')
# Leer todos los datos y almacenarlos en una
# lista de diccionarios
stock= list(csv.DictReader(csvfile))
Entonces despues podes hacer el for sobre la lista de diccionarios:
with open('stock.csv') as csvfile:
# Abrir un archivo CSV
# Leer todos los datos y almacenarlos en una
# lista de diccionarios
stock= list(csv.DictReader(csvfile))
stock_tornillos = 0
for diccionario in stock:
stock_tornillos += int(diccionario.get('tornillos'))
Fijate que también paso a int() lo que levanto del diccionario, porque me está levantando strings sino.
Y por ultimo, no hace falta el file.close() si estás trabajando con el with open(), eso hace que la aplicación crashee
En el ejercicio N°4 como en el 3 estás trabajando los diccionarios como listas. Esto hace mucho más difícil hacer la lógica. Tenes que utilizar DictReader, así podes despues utilizar el .get('lo_que_me_interesa'). Por ejemplo, vos podes traerte la key "ambientes" de tu diccionario, con un for en la lista de diccionarios:
with open('propiedades.csv') as csvfile:
# Abrir un archivo CSV
# Leer todos los datos y almacenarlos en una
# lista de diccionarios
propiedades= list(csv.DictReader(csvfile))
ambientes_2 = 0
ambientes_3 = 0
for propiedad in propiedades:
ambientes = propiedad.get('ambientes')
if ambientes == '2':
ambientes_2 += 1
if ambientes == '3':
ambientes_3 += 1
print("Cantidad de propiedades de 2 ambientes: ", ambientes_2 )
print("Cantidad de propiedades de 3 ambientes: ", ambientes_3 )
Te dejo los ejercicios para que los evalúes, y que los vayas ejecutando!
Un abrazo grande, cualquier cosa nos vamos hablando :D