Foros del Web » Programando para Internet » Python »

aplicando nuevos conocimientos

Estas en el tema de aplicando nuevos conocimientos en el foro de Python en Foros del Web. Hola amigo estoy tratando de aplicar nuevos conceptos que aprendí en clases con este programa que encontré por la Wed, a la hora de resolverlo ...
  #1 (permalink)  
Antiguo 27/11/2014, 13:04
 
Fecha de Ingreso: noviembre-2014
Mensajes: 3
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta aplicando nuevos conocimientos

Hola amigo estoy tratando de aplicar nuevos conceptos que aprendí en clases con este programa que encontré por la Wed, a la hora de resolverlo me salieron algunas dudas.
La introducción dice lo siguiente:
Las notas de los controles 1, 2 y recuperativo se encuentran grabadas en el archivo “notas.txt”. Cada línea contiene las 3 notas (cada nota en 2 caracteres) y a continuación el nombre de un alumno. Por ejemplo, “344845Perez Juan\n” es la línea del alumno “Juan Perez” que obtuvo un 3.4 en el control 1, un 4.8 en el control 2 y un 4.5 en el recuperativo. Si un alumno no rindió un control la nota tendrá dos espacios, y si lo rindió tendrá un valor entre “10” y “70”.

Escriba un programa que lea el archivo “notas.txt” y grabe el archivo “nuevas.txt” con las notas de los dos primeros controles, el promedio y el nombre. La menor de las notas entre los dos primeros controles debe ser reemplazada por la nota del recuperativo, sólo en el caso que la nota del recuperativo sea mayor. Por ejemplo la línea original “344845Perez Juan\n” se debe grabar como “454847Perez Juan\n”. En caso que un alumno no rindió un control, el recuperativo debe reemplazar ese control (y si no rindió los dos, el recuperativo reemplaza el primero). Por supuesto, en caso que el alumno no haya rendido el recuperativo, se deben conservar las notas de los controles 1 y 2. Finalmente, el programa debe mostrar el porcentaje del total de alumnos del curso que, gracias al control recuperativo, subió su promedio de los dos primeros controles.

mis dudas son las siguientes en la parte que dice que lea el archivo significa que me estaría leyendo tal como aparece en el texto que les mencione o yo mismo tendría que poner los datos:
ejemplo:
Código Python:
Ver original
  1. #primer intento
  2. prueba=open("notas.txt", "r")
  3. 504636Perez Juan=prueba.readline()
  4. # o lo tendria que hacer asi
  5. prueba=open("notas.txt", "r")
  6. prueba1=open("nuevas.txt", "w")
  7. # y de aqui partir con el codigo
  #2 (permalink)  
Antiguo 27/11/2014, 13:12
 
Fecha de Ingreso: noviembre-2014
Mensajes: 3
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: aplicando nuevos conocimientos

Cita:
Iniciado por jhonnymn3 Ver Mensaje
Hola amigo estoy tratando de aplicar nuevos conceptos que aprendí en clases con este programa que encontré por la Wed, a la hora de resolverlo me salieron algunas dudas.
La introducción dice lo siguiente:
Las notas de los controles 1, 2 y recuperativo se encuentran grabadas en el archivo “notas.txt”. Cada línea contiene las 3 notas (cada nota en 2 caracteres) y a continuación el nombre de un alumno. Por ejemplo, “344845Perez Juan\n” es la línea del alumno “Juan Perez” que obtuvo un 3.4 en el control 1, un 4.8 en el control 2 y un 4.5 en el recuperativo. Si un alumno no rindió un control la nota tendrá dos espacios, y si lo rindió tendrá un valor entre “10” y “70”.

Escriba un programa que lea el archivo “notas.txt” y grabe el archivo “nuevas.txt” con las notas de los dos primeros controles, el promedio y el nombre. La menor de las notas entre los dos primeros controles debe ser reemplazada por la nota del recuperativo, sólo en el caso que la nota del recuperativo sea mayor. Por ejemplo la línea original “344845Perez Juan\n” se debe grabar como “454847Perez Juan\n”. En caso que un alumno no rindió un control, el recuperativo debe reemplazar ese control (y si no rindió los dos, el recuperativo reemplaza el primero). Por supuesto, en caso que el alumno no haya rendido el recuperativo, se deben conservar las notas de los controles 1 y 2. Finalmente, el programa debe mostrar el porcentaje del total de alumnos del curso que, gracias al control recuperativo, subió su promedio de los dos primeros controles.

mis dudas son las siguientes en la parte que dice que lea el archivo significa que me estaría leyendo tal como aparece en el texto que les mencione o yo mismo tendría que poner los datos:
ejemplo:
Código Python:
Ver original
  1. #primer intento
  2. prueba=open("notas.txt", "r")
  3. 504636Perez Juan=prueba.readline()
  4. # o lo tendria que hacer asi
  5. prueba=open("notas.txt", "r")
  6. prueba1=open("nuevas.txt", "w")
  7. # y de aqui partir con el codigo
Creo que tengo que crear un programa primero para que calcule los promedios y las demás en notas.txt y luego crear otro de lectura y escritura para el nuevo.txt, eso seria o no, entonces lo que estaba haciendo estaría malo
  #3 (permalink)  
Antiguo 01/12/2014, 11:14
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: aplicando nuevos conocimientos

Yo tengo un método para entender esta clase de problemas planteados con tanta letra.
1. Leerlo.
2. Escribirlo.
3. Sucesivamente, reescribirlo, reemplazando cada vez un pedacito de letra por algo de pseudo-código
4. Traducir el pseudo-código en código real.

Como ves, antes siquiera de escribir open() tenés que entender el problema, de tal manera que sepas qué hacer antes de comenzar a plantear una solución.

Si cada línea es de la forma
XXYYZZNombre
lo que necesitás es una forma de, una vez obtenida la línea, obtener los caracteres 1 y 2, luego 3 y 4, etc. Pero primero, ¿cómo se obtiene una línea de un archivo? Lee la documentación
Luego, ¿cómo se obtiene parte de una cadena en una variable? Lee la documentación

Etiquetas: conocimientos, gui, nuevos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:07.