• Python

 #494778  por Kv-7
 
como hago que cuando el usuario ingrese el valor de una variable dentro de una función y después fuera de la función quiera imprimir esa variable me de el mismo valor ingresado por el usuario ?   ej:
. a=0
. def funcion():
.    a=int(input("ingrese un numero: ")) 
.    print(a)
# llamada a la funcion 
funcion(a):
> 10  # lo que ingresa el usuario
>>> 10    # muestra por pantalla "a"
# después le digo que me muestre la variable "a" otra vez y me sale que es cero
print(a)
>>> 0 



perdón si no soy claro 
 #494788  por Teja
 
Si no me equivoco tu problema es que no retornas datos en la función. De esta manera, si alteras una variable se queda siempre dentro de la función (es una variable local).

Prueba con el siguiente código:

a=0
. def funcion():
.    a=int(input("ingrese un numero: ")) 
.    return a

# llamada a la funcion

a = funcion()
 #494790  por Teja
 
Te había respondido y no se ha publicado, es posible que acabe habiendo dos mensajes contestándote.

Creo que tu problema es que no retornas ningún valor en tu función.

Una función es como una "caja negra", cuando declaras variables y manipulas datos dentro de ella se quedan en local (por eso se las llama variables locales) y si quieres manipular datos externos a la función o extraer datos de la función tienes que o bien meter parámetros, o bien devolver valores.

De todas maneras, no sé mucho python así que me podría equivocar.

Esto en tu código se traduciría en algo así:

. a=0
. def funcion():
.    a=int(input("ingrese un numero: ")) 
.    return a #así devuelves un valor en una función

# llamada a la funcion 
a=funcion(a) #cuando una función devuelve un valor, tiene que tener una variable del tipo adecuado que lo recoja