Python - Variable local a global

 
Vista:
sin imagen de perfil

Variable local a global

Publicado por xzibitrl (17 intervenciones) el 23/12/2015 22:57:39
Estoy haciendo un programa donde he definido dos funciones: La primera donde se ingresan datos hasta que el usuario desee y la segunda en donde se ordenan los datos anteriores para las personas mayores, iguales y menores en edad a 59 años.

El programa consiste en el uso de una lista donde cada elemento es tambien una lista con el nombre y edad de cada entrada, entonces a partir del segundo elemento de cada sublista ordeno para mayores, iguales o menores a 59 años.

Mi problema es que en la primera funcion:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def datos():
    #Definimos una lista vacia, una cadena vacia y un verificador con valor booleano:
    datos1 = []
    entrada = ''
    verificador = True
    while verificador:
        persona = []                             #Defino una lista vacía que servira de sublista:
        entrada = raw_input('Ingrese Nombre:')
        persona.append(entrada)
        entrada = raw_input('Ingrese Edad:')
        persona.append(entrada)
        datos1.append(persona)                   #Agrego los datos a la lista general.
        entrada = raw_input('¿Desea ingresar a otra persona? (Si/No):')
        if entrada == 'no':
            verificador = False                  #Se corta el proceso de entrada.
    print 'Los datos ingresados son:', datos1

La lista datos1 queda como una variable local, entonces no puedo acceder a ella desde la siguiente función.

Soy super inexperto asi que agradeceria ayuda o sugerencias, debo decir que es necesario hacerlo definiendo funciones (asi me lo piden).

Gracias!!
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

Variable local a global

Publicado por xve (1646 intervenciones) el 24/12/2015 11:29:30
Hola, porque no la declaran con anterioridad y luegos utilzas glogal? algo así:

1
2
3
4
5
datos1 = []
 
def datos():
    global datos1
    ....

Coméntanos, 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