Diferencias
Muestra las diferencias entre dos versiones de la página.
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:28] – creado upadmin | indice: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 ====== | ||
+ | |||
+ | * {{ : | ||
+ | |||
+ | ===== Archivos de Trabajo ===== | ||
+ | |||
+ | * {{ : | ||
+ | |||
+ | ===== Resueltos ===== | ||
+ | |||
+ | <file python resueltos_guia_6_-_Parte_1.py> | ||
+ | #ejercicio 1 | ||
+ | """ | ||
+ | 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(" | ||
+ | |||
+ | lista_de_las_lineas = archivo_lectura.readlines() | ||
+ | |||
+ | archivo_lectura.close() | ||
+ | |||
+ | print(*lista_de_las_lineas) | ||
+ | |||
+ | x = input() | ||
+ | |||
+ | archivo_escritura = open(" | ||
+ | |||
+ | archivo_escritura.write(lista_de_las_lineas[0]+" | ||
+ | archivo_escritura.write(x) | ||
+ | |||
+ | archivo_escritura.close() | ||
+ | |||
+ | #ejercicio 2 | ||
+ | """ | ||
+ | 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(" | ||
+ | |||
+ | 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(" | ||
+ | |||
+ | print(*lista_de_las_lineas) | ||
+ | |||
+ | #b) | ||
+ | def dinero_recaudado(lista): | ||
+ | print(f" | ||
+ | |||
+ | dinero_recaudado(lista_de_las_lineas) | ||
+ | |||
+ | #c) | ||
+ | archivo_lectura = open(" | ||
+ | |||
+ | lista_de_las_lineas = archivo_lectura.readlines() | ||
+ | |||
+ | archivo_lectura.close() | ||
+ | |||
+ | archivo_escritura = open(" | ||
+ | |||
+ | for i in range(len(lista_de_las_lineas)): | ||
+ | archivo_escritura.write(lista_de_las_lineas[i]) | ||
+ | |||
+ | archivo_escritura.write(" | ||
+ | |||
+ | archivo_escritura.close() | ||
+ | |||
+ | #ejercicio 3 | ||
+ | """ | ||
+ | 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(" | ||
+ | |||
+ | producto="" | ||
+ | |||
+ | while producto != " | ||
+ | producto = input(" | ||
+ | if producto == " | ||
+ | break | ||
+ | archivo_escritura.write(producto+" | ||
+ | |||
+ | archivo_escritura.close() | ||
+ | |||
+ | #ejercicio 4 | ||
+ | """ | ||
+ | |||
+ | 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”, | ||
+ | |||
+ | palabra_a_reemplazar = input(" | ||
+ | |||
+ | palabra_nueva = input(" | ||
+ | |||
+ | archivo_lectura = open(" | ||
+ | |||
+ | lista_de_las_lineas = archivo_lectura.readlines() | ||
+ | |||
+ | archivo_lectura.close() | ||
+ | |||
+ | print(lista_de_las_lineas) | ||
+ | |||
+ | archivo_escritura = open(" | ||
+ | |||
+ | for i in lista_de_las_lineas: | ||
+ | archivo_escritura.write(i.replace(palabra_a_reemplazar, | ||
+ | |||
+ | archivo_escritura.close() | ||
+ | |||
+ | #ejercicio 5 | ||
+ | """ | ||
+ | línea, el nombre del producto, el código, el precio por unidad y el stock actual, es decir: | ||
+ | nombre; | ||
+ | Un posible ejemplo de este archivo es el siguiente: | ||
+ | |||
+ | lapiceras; | ||
+ | cuadernos; | ||
+ | sacapuntas; | ||
+ | … | ||
+ | |||
+ | 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”: | ||
+ | “código”: | ||
+ | “precio”: | ||
+ | “stock”: | ||
+ | } | ||
+ | """ | ||
+ | #a) | ||
+ | archivo_lectura = open(" | ||
+ | |||
+ | 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(" | ||
+ | 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(" | ||
+ | print(" | ||
+ | print(" | ||
+ | print(" | ||
+ | |||
+ | #b) | ||
+ | diccionario = { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | def agregar_producto(producto): | ||
+ | archivo_escritura = open(" | ||
+ | archivo_escritura.write(" | ||
+ | archivo_escritura.close() | ||
+ | |||
+ | agregar_producto(diccionario) | ||
+ | |||
+ | #ejercicio 6 | ||
+ | """ | ||
+ | ú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, | ||
+ | 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= { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | alumno_2= { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | alumno_3= { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | lista_de_alumnos = [alumno_1, alumno_2, alumno_3] | ||
+ | |||
+ | def agregar_diccionarios(lista_de_diccionarios): | ||
+ | archivo_escritura = open(" | ||
+ | for i in range(len(lista_de_diccionarios)): | ||
+ | archivo_escritura.write(lista_de_diccionarios[i][" | ||
+ | archivo_escritura.close() | ||
+ | |||
+ | agregar_diccionarios(lista_de_alumnos) | ||
+ | |||
+ | #b) | ||
+ | def cantidad_aprobados(): | ||
+ | archivo_lectura = open(" | ||
+ | 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(" | ||
+ | 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" | ||
+ | |||
+ | #ejercicio 7 | ||
+ | """ | ||
+ | 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; | ||
+ | Por ejemplo si se tienen los siguientes archivos: | ||
+ | |||
+ | (salas.txt) (peliculas.txt) | ||
+ | D2 | ||
+ | F1 | ||
+ | E4 El padrino | ||
+ | |||
+ | El nuevo archivo deberá quedar: | ||
+ | (funciones.csv) | ||
+ | D2; | ||
+ | F1;Rápidos y furiosos | ||
+ | E4;El padrino | ||
+ | """ | ||
+ | |||
+ | def leer_informacion(nombre_archivo): | ||
+ | archivo = open(nombre_archivo, | ||
+ | lista_archivo = archivo.readlines() | ||
+ | archivo.close() | ||
+ | for i in range(len(lista_archivo)): | ||
+ | lista_archivo[i] = lista_archivo[i].strip(' | ||
+ | return lista_archivo | ||
+ | |||
+ | lista_de_salas = leer_informacion(" | ||
+ | lista_de_peliculas = leer_informacion(" | ||
+ | |||
+ | archivo_combinado = open(" | ||
+ | |||
+ | for i in range(len(lista_de_peliculas)): | ||
+ | archivo_combinado.write(lista_de_salas[i] + ";" | ||
+ | |||
+ | archivo_combinado.close() | ||
+ | |||
+ | #ejercicio 8 | ||
+ | """ | ||
+ | respuesta en un .csv de la siguiente manera: nombre; | ||
+ | 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; | ||
+ | Tomi; violeta;no | ||
+ | Manu; | ||
+ | |||
+ | 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(" | ||
+ | archivo = archivo_lectura.readlines() | ||
+ | archivo_lectura.close() | ||
+ | |||
+ | print(archivo) | ||
+ | |||
+ | for i in range(len(archivo)): | ||
+ | archivo[i] = archivo[i].strip(" | ||
+ | archivo[i] = archivo[i].split(";" | ||
+ | |||
+ | print(archivo) | ||
+ | |||
+ | archivo_txt = open(" | ||
+ | |||
+ | for i in range(len(archivo)): | ||
+ | archivo_txt.write(" | ||
+ | | ||
+ | archivo_txt.close() | ||
+ | </ | ||
+ | |||