indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-6-parte-1

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-6-parte-1 [2025/06/08 19:08] upadminindice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-6-parte-1 [2025/06/08 21:27] (actual) upadmin
Línea 1: Línea 1:
 ====== Guía 6 - Parte 1 ====== ====== Guía 6 - Parte 1 ======
- 
  
   * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia_de_ejercicios_n_6_-_parte_1.docx.pdf |Guía de Ejercicios Nro 6 - Parte 1}}   * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia_de_ejercicios_n_6_-_parte_1.docx.pdf |Guía de Ejercicios Nro 6 - Parte 1}}
  
 ===== Archivos de Trabajo ===== ===== Archivos de Trabajo =====
 +
 +  * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:archivos_de_trabajo.rar |Archivos de Trabajo}}
  
 ===== Resueltos ===== ===== Resueltos =====
Línea 167: Línea 168:
  
 archivo_escritura.close()   archivo_escritura.close()  
 +
 +#ejercicio 5
 +"""Se tiene un archivo csv que contiene información sobre el stock de una librería. Se guarda por cada
 +línea, el nombre del producto, el código, el precio por unidad y el stock actual, es decir:
 +nombre;código;precio;stock
 +Un posible ejemplo de este archivo es el siguiente:
 +
 +lapiceras;34512;50;120
 +cuadernos;41611;500;130
 +sacapuntas;62812;30;210
 +
 +
 +Se pide:
 +a. Leer el archivo y mostrarlo por pantalla con el siguiente formato:
 +Nombre producto: lapiceras
 +Código producto: 34512
 +Precio por unidad: 50
 +Stock: 120
 +Nombre producto: cuadernos
 +Código producto: 41611
 +Precio por unidad: 500
 +Stock: 130
 +
 +b. Hacer una función que reciba un diccionario que describa una línea del archivo y lo
 +agregue, es decir que si se recibe un diccionario del tipo:
 +{
 +“nombre”: “hojas A4”,
 +“código”: 35662,
 +“precio”: 600,
 +“stock”: 45
 +}
 +"""
 +#a)
 +archivo_lectura = open("ej5_stock.csv", "r")
 +
 +lista_de_las_lineas = archivo_lectura.readlines()
 +
 +archivo_lectura.close()
 +
 +print(lista_de_las_lineas)
 +
 +for i in range(len(lista_de_las_lineas)):
 +    lista_de_las_lineas[i] = lista_de_las_lineas[i].strip("\n")
 +    lista_de_las_lineas[i] = lista_de_las_lineas[i].split(";")
 +
 +print(lista_de_las_lineas)
 +
 +for i in range(len(lista_de_las_lineas)):
 +        print("Nombre producto:", lista_de_las_lineas[i][0])
 +        print("Código producto:", lista_de_las_lineas[i][1])
 +        print("Precio por unidad:", lista_de_las_lineas[i][2])
 +        print("Stock:", lista_de_las_lineas[i][3])
 +
 +#b)
 +diccionario = {
 +"nombre": "hojas A4",
 +"código": 35662,
 +"precio": 600,
 +"stock": 45
 +}
 +
 +def agregar_producto(producto):
 +      archivo_escritura = open("ej5_stock.csv", "a")
 +      archivo_escritura.write("\n"+producto["nombre"]+";"+str(producto["código"])+";"+str(producto["precio"])+";"+str(producto["stock"]))
 +      archivo_escritura.close() 
 +
 +agregar_producto(diccionario)
 +
 +#ejercicio 6
 +"""Una profesora tiene una lista de diccionarios para guardar las notas que sacaron sus alumnos en el
 +último parcial que tomó. Cada uno de esos diccionarios tiene el nombre del alumno, su apellido, su dni
 +y la nota que sacó.
 +a. Hacer una función que reciba este diccionario, y guarde las notas en un archivo csv, llamados
 +notas.csv
 +b. Tiempo después de guardar las notas, la profesora quiso saber la cantidad de alumnos que
 +aprobaron. Hacer una función que lea el archivo creado en el ejercicio anterior, y devolver la
 +cantidad de alumnos aprobados (su nota es mayor a 4)."""
 +
 +#a)
 +alumno_1= {
 +    "nombre": "pedro",
 +    "apellido": "lopez",
 +    "dni": 33333333,
 +    "nota": 2
 +}
 +
 +alumno_2= {
 +    "nombre": "juan",
 +    "apellido": "sanchez",
 +    "dni": 44444444,
 +    "nota": 4
 +}
 +
 +alumno_3= {
 +    "nombre": "carlos",
 +    "apellido": "rodriguez",
 +    "dni": 22222222,
 +    "nota": 6
 +}
 +
 +lista_de_alumnos = [alumno_1, alumno_2, alumno_3]
 +
 +def agregar_diccionarios(lista_de_diccionarios):
 +      archivo_escritura = open("ej6_notas.csv", "w")
 +      for i in range(len(lista_de_diccionarios)):
 +          archivo_escritura.write(lista_de_diccionarios[i]["nombre"]+";"+lista_de_diccionarios[i]["apellido"]+";"+str(lista_de_diccionarios[i]["dni"])+";"+str(lista_de_diccionarios[i]["nota"])+"\n")
 +      archivo_escritura.close() 
 +
 +agregar_diccionarios(lista_de_alumnos)
 +
 +#b)
 +def cantidad_aprobados():
 +    archivo_lectura = open("ej6_notas.csv", "r")
 +    lista_de_las_lineas = archivo_lectura.readlines()
 +    archivo_lectura.close()
 +    print(lista_de_las_lineas)
 +    for i in range(len(lista_de_las_lineas)):
 +        lista_de_las_lineas[i] = lista_de_las_lineas[i].strip("\n")
 +        lista_de_las_lineas[i] = lista_de_las_lineas[i].split(";")
 +    print(lista_de_las_lineas)
 +    contador = 0
 +    for i in range(len(lista_de_las_lineas)):
 +        if int(lista_de_las_lineas[i][3]) >= 4:
 +            contador += 1
 +    return (contador)
 +    
 +print(f"La cantidad de aprobados es {cantidad_aprobados()}")
 +
 +#ejercicio 7
 +"""En un cine tienen dos archivos .txt, uno con salas y otro con nombres de películas. Se sabe que en la
 +sala de una fila del archivo se va a transmitir la película de la misma fila del archivo de películas. Se pide
 +leer los dos archivos, y crear un nuevo archivo csv que tenga el nuevo formato sala;pelicula
 +Por ejemplo si se tienen los siguientes archivos:
 +
 +(salas.txt) (peliculas.txt)
 +D2           Megamente
 +F1           Rápidos y furiosos
 +E4           El padrino
 +
 +El nuevo archivo deberá quedar:
 +(funciones.csv)
 +D2;Megamente
 +F1;Rápidos y furiosos
 +E4;El padrino
 +"""
 +
 +def leer_informacion(nombre_archivo):
 +    archivo = open(nombre_archivo, "r")
 +    lista_archivo = archivo.readlines()
 +    archivo.close()
 +    for i in range(len(lista_archivo)):
 +        lista_archivo[i] = lista_archivo[i].strip('\n')
 +    return lista_archivo
 +
 +lista_de_salas = leer_informacion("ej7_salas.txt")
 +lista_de_peliculas = leer_informacion("ej7_peliculas.txt")
 +
 +archivo_combinado = open("ej7_funciones.csv", "w")
 +
 +for i in range(len(lista_de_peliculas)):
 +    archivo_combinado.write(lista_de_salas[i] + ";" + lista_de_peliculas[i] + "\n")
 +
 +archivo_combinado.close() 
 +
 +#ejercicio 8
 +"""Santi le fue mostrando colores a sus amigos y cada amigo le fue diciendo si le gusta o no. Guardó cada
 +respuesta en un .csv de la siguiente manera: nombre;color;le gusta, pero se dió cuenta que no es una
 +forma muy práctica de guardarlo, así que lo quiere cambiar. Hacer un programa que lea el archivo y lo
 +transforme en un archivo .txt. Es decir que si se tiene un archivo csv de la siguiente forma:
 +Agus;verde;si
 +Tomi; violeta;no
 +Manu;marrón;no
 +
 +El archivo .txt tiene que quedar así:
 +
 +A Agus sí le gusta el verde
 +A Tomi no le gusta el violeta
 +A Manu no le gusta el marrón
 +"""
 +
 +archivo_lectura = open("ej8_colores.csv", "r")
 +archivo = archivo_lectura.readlines()
 +archivo_lectura.close()
 +
 +print(archivo)
 +
 +for i in range(len(archivo)):
 +    archivo[i] = archivo[i].strip("\n")
 +    archivo[i] = archivo[i].split(";")
 +
 +print(archivo)
 +
 +archivo_txt = open("ej8_colores.txt", "w")
 +
 +for i in range(len(archivo)):
 +          archivo_txt.write("A " + archivo[i][0] + " " + archivo[i][2] + " " + "le gusta el " + archivo[i][1] + "\n")
 +    
 +archivo_txt.close()    
 </file> </file>
  
  
  • indice/uba/ingenieria/uba-xxi/pensamiento-computacional/guias-y-resueltos/guia-6-parte-1.1749409717.txt.gz
  • Última modificación: 2025/06/08 19:08
  • por upadmin