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/05/07 01:29] 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 |}}+===== Archivos de Trabajo =====
  
 +  * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:archivos_de_trabajo.rar |Archivos de Trabajo}}
  
 ===== Resueltos ===== ===== Resueltos =====
 +
 +<file python resueltos_guia_6_-_Parte_1.py>
 +#ejercicio 1
 +""" Se tiene un archivo con la pregunta “¿Cómo estás hoy?” llamado pregunta.txt. Se pide leerlo y mostrar
 +la pregunta por pantalla para luego pedirle al usuario que ingrese una respuesta. Después, guardar la respuesta
 +dada por el usuario en el archivo.
 +Por ejemplo, se tiene el archivo pregunta.txt que originalmente tiene:
 +
 +¿Cómo estás hoy?
 +
 +Y el usuario da la respuesta: “¡Bien, porque me comí una hamburguesa!”
 +Entonces el archivo debería quedar de la forma:
 +
 +¿Cómo estás hoy?
 +¡Bien, porque me comí una hamburguesa!"""
 +
 +
 +archivo_lectura = open("ej1_pregunta.txt", "r")
 +
 +lista_de_las_lineas = archivo_lectura.readlines()
 +
 +archivo_lectura.close()
 +
 +print(*lista_de_las_lineas)
 +
 +x = input()
 +
 +archivo_escritura = open("ej1_pregunta.txt", "w")
 +
 +archivo_escritura.write(lista_de_las_lineas[0]+"\n")
 +archivo_escritura.write(x)
 +
 +archivo_escritura.close()   
 +
 +#ejercicio 2
 +"""En un archivo llamado regalo.txt se tiene la lista de las personas que quieren participar en el regalo de
 +cumpleaños de Sol (en cada línea está el nombre de una persona). El encargado de organizar el regalo
 +es Ale, y quiere saber más información antes de ir a comprarle algo a Sol.
 +
 +a. Mostrar por pantalla los nombres de las personas que quieren participar en el regalo.
 +b. Se sabe que quieren poner 1000 pesos por persona por regalo. Hacer una función que devuelva
 +cuánto dinero tiene Ale para hacerle el regalo a Sol. Es decir si se tiene un archivo de esta forma:
 +
 +Agus
 +Manu
 +Santi
 +Lorena
 +Maria
 +
 +La función tiene que devolver 5000
 +
 +c. Tomi sabe que si participa Santi, también participa Tomi. Se pide que si Santi está en el archivo
 +de los nombres, se agregue también a Tomi."""
 +
 +#a)
 +archivo_lectura = open("ej2_regalo.txt", "r")
 +
 +lista_de_las_lineas = archivo_lectura.readlines()
 +
 +archivo_lectura.close()
 +
 +for i in range(len(lista_de_las_lineas)):
 +    lista_de_las_lineas[i] = lista_de_las_lineas[i].strip("\n")
 +
 +print(*lista_de_las_lineas)
 +
 +#b)
 +def dinero_recaudado(lista):
 +    print(f"Ale ha recaudado ${len(lista)*1000}"
 +
 +dinero_recaudado(lista_de_las_lineas)
 +
 +#c)
 +archivo_lectura = open("ej2_regalo.txt", "r")
 +
 +lista_de_las_lineas = archivo_lectura.readlines()
 +
 +archivo_lectura.close()
 +
 +archivo_escritura = open("ej2_regalo.txt", "w")
 +
 +for i in range(len(lista_de_las_lineas)):
 +    archivo_escritura.write(lista_de_las_lineas[i])
 +
 +archivo_escritura.write("\nsanti")
 +
 +archivo_escritura.close()  
 +
 +#ejercicio 3
 +"""En un hogar se quieren organizar mejor con las compras, por lo que se quiere guardar en un archivo la
 +lista de productos que se necesitan para la próxima vez que la familia vaya al supermercado. Se pide
 +hacer un programa que cree un archivo de compras.txt (Ayuda: abrir el archivo en modo w) y le
 +pregunte al usuario qué necesita comprar hasta que ingrese una X. Por ejemplo:
 +
 +> ¿Qué agrego a la lista de compras?
 +> Papa
 +> ¿Qué agrego a la lista de compras?
 +> Pollo
 +> ¿Qué agrego a la lista de compras?
 +> Fideos
 +> ¿Qué agrego a la lista de compras?
 +> X
 +El archivo tendría que estar de la siguiente forma:
 +Papa
 +Pollo
 +Fideos"""
 +
 +archivo_escritura = open("ej3_compras.txt", "w")
 +
 +producto=""
 +
 +while producto != "x":
 +    producto = input("¿Qué agrego a la lista de compras? Presione x para terminar: ")
 +    if producto == "x":
 +        break
 +    archivo_escritura.write(producto+"\n")
 +
 +archivo_escritura.close() 
 +
 +#ejercicio 4
 +"""Se tiene un archivo con el siguiente texto:
 +
 +Paco Peco, chico rico,
 +insultaba como un loco
 +a su tío Federico;
 +y éste dijo: Poco a poco,
 +Paco Peco, poco pico. Me han dicho que has dicho un dicho
 +que han dicho que he dicho yo,
 +el que lo ha dicho, mintió,
 +y en caso que hubiese dicho
 +ese dicho que tú has dicho
 +que han dicho que he dicho yo,
 +dicho y redicho quedó.
 +y estaría muy bien dicho,
 +siempre que yo hubiera dicho
 +ese dicho que tú has dicho
 +que han dicho que he dicho yo.
 +
 +Se pide hacer un programa que pida dos palabras: una que se quiera reemplazar y la palabra por la que
 +se quiera reemplazar, cambie el texto y lo guarde en el archivo otra vez. Por ejemplo, si la función recibe
 +“poco” y “mucho”, reemplaza “poco” por “mucho” todas las veces que aparezca en el texto."""
 +
 +palabra_a_reemplazar = input("¿Que palabra queres reemplazar?:\n")
 +
 +palabra_nueva = input("¿Por cual palabra la queres reemplazar?:\n")
 +
 +archivo_lectura = open("ej4_texto.txt", "r")
 +
 +lista_de_las_lineas = archivo_lectura.readlines()
 +
 +archivo_lectura.close()
 +
 +print(lista_de_las_lineas)
 +
 +archivo_escritura = open("ej4_texto.txt", "w")
 +
 +for i in lista_de_las_lineas:
 +    archivo_escritura.write(i.replace(palabra_a_reemplazar, palabra_nueva))
 +
 +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>
 +
 +
  • indice/uba/ingenieria/uba-xxi/pensamiento-computacional/guias-y-resueltos/guia-6-parte-1.1746581340.txt.gz
  • Última modificación: 2025/05/07 01:29
  • por upadmin