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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


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

Desconectado Desconectado

Mensajes: 44


Ver Perfil
[AYUDA]Insertando elemento en un array en python
« en: 26 Enero 2017, 08:03 am »

Hola , nuevamente yo intentando aprender python y surgiendo con nuevas dudas , tengo una consigna en que dada una lista insertar en una posicion no mayor al tamaño insertar un elemento , mi resolucion en c fue la siguiente

Código:

#include <stdio.h>
int main()
{
int n,x[100],i,k,pos;
printf("ingrese tamanio:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("ingrese valor:");
scanf("%d",&x[i]);
}
printf("el vector es:");
for(i=1;i<=n;i++)
{
printf("%d",x[i]);
}
printf("ingresar valor a insertar:");
scanf("%d",&k);
printf("ingrese posicion a insertar:");
scanf("%d",&pos);
for(i=n;n>=pos;i--)
{
x[i+1]=x[i];
}
x[pos]=k;
n=n+1;
printf("el nuevo vector es:");
for(i=1;i<=n;i++)
printf("%d",x[i]);
return 0;
}


me funciona correctamente, obviando que la posicion que siempre ingresare sera menor al tamaño , que eso lo areglare cuando solucione esto en python
este es mi codigo en python

Código:
n=int(raw_input("ingrese tamanio:"))
x=[]
for i in range(n):
    x.append(int(raw_input("ingrese valor:")))
print "el vector es:"
for i in range(n):
    print x[i]
k=int(raw_input("ingrese valor a insertar:"))
pos=int(raw_input("ingrese posicion a insertar:"))
for i in range(n-1,-1,pos):
    x[i+1]=x[i]
    print x[i]
x[pos]=k
n=n+1
for i in range(n):
    print x[i]


pero no me ejecuta correctamente el programa,me sale este error

Código:
  x[pos]=k
IndexError: list assignment index out of range

cual es el error? o que estoy haciendo mal en python?




« Última modificación: 26 Enero 2017, 08:05 am por AgnesBlack » En línea

PUAROT

Desconectado Desconectado

Mensajes: 86



Ver Perfil WWW
Re: [AYUDA]Insertando elemento en un array en python
« Respuesta #1 en: 26 Enero 2017, 10:26 am »

Estas teniendo en cuenta que pos debe ser igual a un valor negativo  ?


En línea

AgnesBlack

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: [AYUDA]Insertando elemento en un array en python
« Respuesta #2 en: 26 Enero 2017, 23:59 pm »

Estas teniendo en cuenta que pos debe ser igual a un valor negativo  ?


mmm como lo tendria q hacer eso? tu que me aconsejaria o como seria tu codigo en python
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [AYUDA]Insertando elemento en un array en python
« Respuesta #3 en: 27 Enero 2017, 00:03 am »

en python si el indice es negativa accede al array de forma inversa... es decir


Código:
a = [5,2,0,1,2,8]

a[-1] es 8
a[-2] es 2

y así en más


por que usas esto
Código:
pos=int(raw_input("ingrese posicion a insertar:"))

en lugar de simplemente hacer

Código:
pos=input("ingrese posicion a insertar:")

? el segundo retorna en int en caso que ingresen un int
« Última modificación: 27 Enero 2017, 00:08 am por engel lex » 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: [AYUDA]Insertando elemento en un array en python
« Respuesta #4 en: 28 Enero 2017, 01:49 am »

bien modifique el codigo de la siguiente manera

Código:
n=int(raw_input("ingrese tamanio:"))
x=[]
for i in range(n):
    x.append(int(raw_input("ingrese valor:")))
print "el vector es:"
for i in range(n):
    print x[i]
k=int(raw_input("ingrese valor a insertar:"))
pos=input(raw_input("ingrese posicion a insertar:"))
for i in range(n-1,-1,pos):
    x[i+1]=x[i]
    print x[i]
x[pos]=k
n=n+1
for i in range(n):
    print x[i]

pero me sigue saliendo el error

Código:
    pos=input(raw_input("ingrese posicion a insertar:"))
  File "<string>", line 0
   
    ^
SyntaxError: unexpected EOF while parsing
En línea

PUAROT

Desconectado Desconectado

Mensajes: 86



Ver Perfil WWW
Re: [AYUDA]Insertando elemento en un array en python
« Respuesta #5 en: 28 Enero 2017, 09:43 am »

Te sobra el raw_input...
tienes:
Código:
pos=input(raw_input("ingrese posicion a insertar:"))

y deberias usar
Código:
pos=input("ingrese posicion a insertar:")

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Eliminar un elemento en un Array
Programación Visual Basic
edgar_allan 4 36,400 Último mensaje 16 Enero 2009, 02:17 am
por LeandroA
Desplegar un array en algun elemento grafico de c#
.NET (C#, VB.NET, ASP)
nico56 6 10,702 Último mensaje 31 Diciembre 2009, 17:52 pm
por raul338
Array me imprime un solo elemento porque?
PHP
itzg3 5 2,980 Último mensaje 19 Abril 2014, 02:26 am
por Pablo Videla
[PYTHON] Saber si un elemento esta en una matriz
Scripting
Yidu 2 11,137 Último mensaje 9 Abril 2015, 19:19 pm
por Yidu
Busqueda y mostrar elemento en array
Programación C/C++
matver 3 2,196 Último mensaje 6 Febrero 2017, 03:44 am
por JS3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines