elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  error en python corre bien pero marca error
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: error en python corre bien pero marca error  (Leído 2,629 veces)
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
error en python corre bien pero marca error
« en: 25 Agosto 2015, 18:53 pm »

Tengo un script como este:

Código
  1. candela = {
  2.    "nombre":"Candela",
  3.    "tareas": [90, 97, 75, 92],
  4.    "pruebas": [88, 40, 94],
  5.    "examenes": [75, 90]
  6.    }
  7. milagros = {
  8.    "nombre":"Milagros",
  9.    "tareas": [100.0, 92.0, 98.0, 100.0],
  10.    "pruebas": [82.0, 83.0, 91.0],
  11.    "examenes": [89.0, 97.0]
  12.    }
  13. ramiro = {
  14.    "nombre":"Ramiro",
  15.    "tareas": [0.0, 87.0, 75.0, 22.0],
  16.    "pruebas": [0.0, 75.0, 78.0],
  17.    "examenes": [100.0, 100.0]
  18. }
  19.  
  20. alumnos=[candela, milagros, ramiro]
  21. for x in [0,1,2,3]:
  22.    print alumnos[x]["nombre"]
  23.    print alumnos[x]["tareas"]
  24.    print alumnos[x]["pruebas"]
  25.    print alumnos[x]["examenes"]
  26.  
  27.  

Y corre bien, hace lo que quiero, pero al último genera este error:

Código:
Traceback (most recent call last):
  File "alumnos.py", line 22, in <module>
    print alumnos[x]["nombre"]
IndexError: list index out of range


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: error en python corre bien pero marca error
« Respuesta #1 en: 25 Agosto 2015, 18:57 pm »

Código:
alumnos=[candela, milagros, ramiro]
for x in [0,1,2,3]:

Es decir primero le dices "tienes un array con 3 valores (candela, milagros, ramiro) pero necesito que me del el valor de los primeros 4 (0,1,2,3) que crees que sucederá al leer el cuarto valor(3)?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: error en python corre bien pero marca error
« Respuesta #2 en: 25 Agosto 2015, 19:00 pm »

Si, ya entiendo era un error lógico, solo tenia que poner:

Código
  1. for x in [0,1,2]:

Porque el cuarto valor no existe xD :-)
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: error en python corre bien pero marca error
« Respuesta #3 en: 25 Agosto 2015, 19:06 pm »

Para simplificarlo mas puedes hacerlo de las siguientes 2 maneras

Código
  1. for x in range(3):

Range 3 retorna un array 3 valores empezando en 0

Pero mas simple aún

Código
  1. for x in alumnos:

Este ultimo es especialmente util cuando el array es asociativo o no sabes cuantos valores tiene
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
marca un error el virtualdub
Multimedia
morbid 2 1,767 Último mensaje 31 Enero 2006, 01:31 am
por Songoku
Calcular mcd. Compila bien pero no corre « 1 2 3 »
Programación C/C++
jairogon 24 15,870 Último mensaje 3 Julio 2010, 03:09 am
por nicolas_cof
Unindent doesnt blabla en Python, pero no veo donde está el error :\
Scripting
S3kh 9 4,499 Último mensaje 3 Agosto 2011, 18:00 pm
por XiR_
Error: programa no corre en window7 64 bits
.NET (C#, VB.NET, ASP)
trobador789 8 4,126 Último mensaje 15 Enero 2013, 21:07 pm
por seba123neo
Destructor se ejecuta bien pero da error al final de la ejecución [SOLUCIONADO]
Programación C/C++
SARGE553413 5 3,039 Último mensaje 25 Abril 2013, 16:00 pm
por SARGE553413
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines