Python - UnboundLocalError: local variable 'i' referenced before assignment

 
Vista:
sin imagen de perfil

UnboundLocalError: local variable 'i' referenced before assignment

Publicado por teresa (4 intervenciones) el 18/11/2016 14:13:34
Buenos dias, acabo de realizar un ejercicio en python y me sale un error y nose como corregirlo:
UnboundLocalError: local variable 'i' referenced before assignment

El programa es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def insertar_subcadena(cadena, cadinsert, posicion):
 
    for i in range(posicion +i):
        if i==posicion:
           for j in range(posicion, len(cadinser) -1):
               aux=aux +cadinser[j]
           aux =aux +cadena[posicion]
        else:
            aux =aux +cadena[i]
    return aux
 
#Programa principal
c=input("Cadena incial:")
ci=input("Cadena a insertar:")
p=int(input("Posicion donde se desea insertar:"))
cadena= insertar_subcadena(c,ci,p)
print("El resultado es",cadena)
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: 1.471
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

UnboundLocalError: local variable 'i' referenced before assignment

Publicado por xve (1637 intervenciones) el 18/11/2016 14:18:54
Hola TEresa, el problema lo tienes en esta linea:
for i in range(posicion +i):

Todavía no tiene valor la variable i y se la estas sumando a la variable posicion!!! esto no puede ser porque no sabe el valor que tiene!!!
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
sin imagen de perfil

UnboundLocalError: local variable 'i' referenced before assignment

Publicado por jorge (5 intervenciones) el 18/11/2016 14:28:02
Y como lo corregiria es que no se muy bien
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: 1.471
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

UnboundLocalError: local variable 'i' referenced before assignment

Publicado por xve (1637 intervenciones) el 18/11/2016 20:47:54
es que no entiendo porque le sumas i a la variable posicion!!

Una manera mas sencilla seria:
1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding: utf-8 -*-
 
def insertar_subcadena(cadena, cadinsert, posicion):
	resultado=cadena[:posicion]+cadinsert+cadena[posicion:]
	return resultado
 
#Programa principal
c=input("Cadena incial:")
ci=input("Cadena a insertar:")
p=int(input("Posicion donde se desea insertar:"))
cadena= insertar_subcadena(c,ci,p)
print("El resultado es",cadena)

No se si te sirve...
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