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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Muestra de un array inverso en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Muestra de un array inverso en python  (Leído 3,456 veces)
AgnesBlack

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Muestra de un array inverso en python
« en: 10 Enero 2017, 04:01 am »

Hola tengo el siguiente problema , tengo que mostra una lista de n tamaño
como por ejemplo N=5
1,4,5,2,7

entonce el programa deberia mostrar

7,2,5,4,1

este es el codigo en python

Código:
n=input("ingrese tamanio:")
x=[]
y=[0]*n
for i in range(n):
   x.append(int(raw_input("ingrese valor:")))
m=0
for i in range(n,0,-1):
   y[m]=x[i]
   m=m+1
  print y[m]


pero en salida me muestra este error

Código:
 y[m]=x
IndexError: list index out of range

a que se debe ? que estoy haciendo mal?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #1 en: 10 Enero 2017, 04:10 am »

range(i,f,s) generará una lista tal que sea desde i hasta f sin incluirlo, moviendose b]s[/b] valores

si haces un print a tu range verás que el error es que intenta acceder al array en la posición 5, cuando tu array va del 0 al 4 como es normal



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.
AgnesBlack

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #2 en: 10 Enero 2017, 04:14 am »

osea que lo que me quieres decir que mi range tiene que ser asi

Código:
for i in range(n,i,-1):

?
gracias por responder

por que cuando pongo solamente

Código:
for i in range(n,0,-1):
    print i
   

me muestra la posiciones invertidas
« Última modificación: 10 Enero 2017, 04:17 am por AgnesBlack » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #3 en: 10 Enero 2017, 04:17 am »

experimenta! jejeje de eso se trata la informática

Código
  1. print range(0,5,1)

quien es i en ese range?
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.
AgnesBlack

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #4 en: 10 Enero 2017, 04:24 am »

i es 0 (donde inicia)
n es 5 (el tamaño)
1 el step +1

y tambien se que la forma inversa de que lo muestre invertido es

 list(range(5,0,-1))

en eso no tengo duda la duda que tengo es por que mi codigo no almacena el datos en la posicion
como te mostre en el mensaje de arriba cuando solamente pongo print i , me muestra las posiciones invertidas , pero cuando pongo el y[m]=x que vendria ser la posicion 5 por ejemplo el valor de ella no me la guarda en y[m] y es lo q vengo de hace dias averiguando el por que
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #5 en: 10 Enero 2017, 04:29 am »

Código:
for i in range(n,i,-1):

Citar
i es 0 (donde inicia)
n es 5 (el tamaño)
1 el step +1

i lo define el for, no está definido antes...



Código
  1. >>> range(5,0,-1)
  2. [5, 4, 3, 2, 1]

es decir el va a intentar acceder a tu array en la posición 5 hasta la 1

pero tu array va desde la posición 0 hasta la 4... cuando intenta acceder a la posición 5 que no exíste, indica

Código:
IndexError: list index out of range

tu range tiene que ser desde n-1, hasta -1 (porque no lo incluye), con saltos de -1

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.
AgnesBlack

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #6 en: 10 Enero 2017, 04:57 am »

Despues de analizar y comprender un poco al fin el array y mas de lo tu me explicaste

Código:
n=input("ingrese tamanio:")
x=[]
y=[0]*n
for i in range(n):
   x.append(int(raw_input("ingrese valor:")))
m=0
for i in range(n-1,-1,-1):
   y[m]=x[i]
   print y[m]
   m=m+1
   

me salio correctamente el codigo , te lo agradezco mucho  :) muchas gracias por tu apoyo , al fin pude solucionarlo
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #7 en: 10 Enero 2017, 05:07 am »

por cierto, otra opción era usar matemáticas :)

si quieres que se mueva del N al 0 sabiendo que tu entrada es del 0 al N (range(N) ) es N-1-i

Código
  1. for i in range(N):
  2.  print x[N-1-i]
 
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.
AgnesBlack

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: Muestra de un array inverso en python
« Respuesta #8 en: 10 Enero 2017, 05:12 am »

jaja por algo eres el admin :) , si me falta nociones de matematicas tengo que leer un poco mas , ya leere esos libros que subiste de matematicas
aca el codigo modificado

Código:
n=input("ingrese tamanio:")
x=[]
y=[0]*n
for i in range(n):
   x.append(int(raw_input("ingrese valor:")))
m=0
for i in range(n):
   y[m]=x[n-1-i]
   print y[m]
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como cargo un archivo binario o txt desde la consola de python en array?
Programación General
gamekolor 0 3,621 Último mensaje 2 Junio 2010, 01:05 am
por gamekolor
[Python] Redimensionar un array
Scripting
M3LiNdR1 1 3,486 Último mensaje 17 Octubre 2011, 01:00 am
por M3LiNdR1
SSH INVERSO
Seguridad
chapo182 1 3,683 Último mensaje 4 Octubre 2012, 10:08 am
por adastra
[Python] Mi consola no muestra nada...
Scripting
BigByte 4 4,332 Último mensaje 21 Diciembre 2014, 22:33 pm
por Eleкtro
[AYUDA]Insertando elemento en un array en python
Scripting
AgnesBlack 5 3,116 Último mensaje 28 Enero 2017, 09:43 am
por PUAROT
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines