Python - Convertir un archivo de texto en lista o arreglos

 
Vista:

Convertir un archivo de texto en lista o arreglos

Publicado por bryan (1 intervención) el 29/05/2013 01:33:18
me han puesto una tarea donde me entregan un archivo que contiene el nombre y las respuestas de una prueba y necesito separarlo en varias listas o arreglos no se como, tiene que ser con un for o un if porque son para n personas
Valentina Reyes
ABCDE
ABCDE
AB#DE
ABCDE
ABCDE
Diego Morales
#BCDE
A#CDE
AB#DE
A#CDE
ABC#E
Francisca Fuentes
A#CDE
A#CDE
AB#DE
A#CDE
ABC#E
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Convertir un archivo de texto en lista o arreglos

Publicado por xve (1646 intervenciones) el 29/05/2013 08:46:55
Hola bryan, cada persona de la lista, tienes debajo siempre 5 respuestas? Si es así, no es tan difícil, siempre tienes que contar 6 lineas para empezar nuevamente... podría ser algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
f=file("file.txt", "r")
content=f.read().splitlines()
 
contador=0
diccionario={}
for line in content:
    if contador==0:
        key=line
        diccionario[key]=[]
    else:
        diccionario[key].append(line)
    contador+=1
    if contador==6:
        contador=0
 
print diccionario


Este código te devuelve un diccionario con cada nombre, el cual contiene la lista de los valores:
1
{'Diego Morales': ['#BCDE', 'A#CDE', 'AB#DE', 'A#CDE', 'ABC#E'], 'Valentina Reyes': ['ABCDE', 'ABCDE', 'AB#DE', 'ABCDE', 'ABCDE'], 'Francisca Fuentes': ['A#CDE', 'A#CDE', 'AB#DE', 'A#CDE', 'ABC#E']}


Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir un archivo de texto en lista o arreglos

Publicado por constanza (12 intervenciones) el 29/05/2013 23:24:05
exelente, me sirvio mucho, pero ahora esos objetos son listas, si necesito comparas las respuestas de diego morales con una lista que tambien lei de otro archivo pauta.txt como las puedo comparar? para que me de por ejemplo un true si la respuestas marcada #BCDE coincide con mi A de pauta ojala me entiendas, estoy demaciada confundida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir un archivo de texto en lista o arreglos

Publicado por constanza (12 intervenciones) el 30/05/2013 00:34:35
disculpa seria muy patudo si me manddas tu correo para preguntarte algo o tu facebook o whatsapp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Convertir un archivo de texto en lista o arreglos

Publicado por xve (1646 intervenciones) el 30/05/2013 08:10:47
Si te respondo a ti directamente sin pasar por un foro, otros usuarios con las mismas dudas, no tendrían acceso a la información.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Convertir un archivo de texto en lista o arreglos

Publicado por xve (1646 intervenciones) el 30/05/2013 08:10:03
Haber si te entiendo, tienes dos archivos con usuarios y respuestas, y quieres comprar todos los usuarios del archivo A con los usuarios del archivo B? o en el archivo A y B hay los mismos usuarios y quieres comparar sus notas? o solamente hay un archivo y quieres comparar los usuario del archivo entre ellos?

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir un archivo de texto en lista o arreglos

Publicado por constanza (12 intervenciones) el 30/05/2013 14:22:31
Pauta
En un archivo, está la pauta del ensayo que se quiere corregir. Este archivo se llama pauta.txt y
tiene en la primera línea la cantidad de preguntas del ensayo, N, y luego N líneas con una letra A, B, C,D, o E mayúscula que indica cuál es la alternativa correcta para la pregunta correspondiente.
2.2.
Respuestas
El archivo respuestas.txt contiene las hojas de respuesta de los alumnos. En la primera línea se
encuentra un número entero, R, que indica la cantidad de hojas de respuesta que siguen. Luego vienen Rhojas de respuesta, según el siguiente formato:
1 línea con el nombre del alumno. Podría contener espacios.
N líneas (una por pregunta) con la fila de la hoja de respuesta correspondiente a una pregunta.
Una fila consiste de 5 casillas, de las que puede haber algunas marcadas. La fila sin marcar es
ABCDE, y las marcas se simbolizan reemplazando la posición marcada por #. Ejemplo, una pregunta respondida con la alternativa B sería A#CDE, mientras que una omitida sería ABCDE. También pueden haber preguntas con más de una alternativa marcada (A#C#E), caso en que se considera incorrecta.
2.3.
Puntajes
La tabla de asignación de puntajes varía cada año y para cada prueba. Por eso, al momento de corregir cada ensayo, deberá leer un archivo puntajes.txt que contiene la tabla de asignación de puntaje final en función del puntaje corregido.
El puntaje corregido es la cantidad de respuestas correctas, menos un cuarto de la cantidad de re-
spuestas incorrectas. Ejemplo, si alguien tiene 70 correctas, 5 incorrectas, y 5 omitidas o inválidas, su puntaje corregido será 70 −54) = 68,75.
En el archivo de puntajes, habrá primero una línea con un número entero P que indica cuántas líneas le siguien. Luego, P líneas, con 2 números cada una, separados por espacio. El primer número indica el puntaje corregido y el segundo número el puntaje PSU correspondiente a dicho puntaje corregido.
El primer número podría ser entero o decimal, mientras que el segundo siempre será entero. Estas P líneas vienen en orden decreciente (de mayor puntaje a menor). La correspondencia es monótona, i.e.
PC1< PC2&#8660; P(PC1) < P(PC2), donde P(PC) es el puntaje final PSU asignado al puntaje corregido
PC.

Generación de resultados
Para cada alumno dentro del archivo de respuestas, usted debe calcular la cantidad de respuestas buenas, malas y omitidas que obtuvo, su puntaje corregido y el puntaje PSU que obtuvo. Finalmente, debe mostrar en consola la lista de alumnos, ordenados por puntaje PSU obtenido de mayor a menor.
Para cada alumno debe imprimir una línea en la consola siguiendo el siguiente formato:
NombreAlumno, B:a, M:b, O:c, PC:d, PSU:d
Reemplazando a, b, c, d y e por la cantidad de preguntas buenas, preguntas malas, preguntas omitidas,
puntaje corregido, y puntaje PSU del alumno, respectivamente.

Ejemplo
.
Archivo pauta.txt
5
A
B
C
B
D

Archivo respuestas.txt

Valentina Reyes
ABCDE
ABCDE
AB#DE
ABCDE
ABCDE
Diego Morales
#BCDE
A#CDE
AB#DE
A#CDE
ABC#E

Francisca Fuentes
A#CDE
A#CDE
AB#DE
A#CDE
ABC#E
Pedro Torres
#####
ABC#E
ABCDE
ABCDE
ABC#E
4.3.

Archivo puntajes.txt

0 320
1 490
5 850
4.4.

Salida en consola
Diego Morales, B:5, M:0, O:0, PC:5, PSU:850
Francisca Fuentes, B:4, M:1, O:0, PC:3.75, PSU:737.5
Valentina Reyes, B:1, M:0, O:4, PC:1, PSU:490
Pedro Torres, B:1, M:2, O:2, PC:0.5, PSU:405

ojalas te sirvaa necesito ayuda pliss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir un archivo de texto en lista o arreglos

Publicado por constanza (12 intervenciones) el 30/05/2013 14:23:58
lo dificil es que es para n personas, no es un numero definido, no se como hacerlo porfavor ayudaa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir un archivo de texto en lista o arreglos

Publicado por constanza (12 intervenciones) el 31/05/2013 18:17:11
porfavor , dime que entendiste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar