Python - Ayuda declaracion funciones python

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 18 puestos en Python (en relación al último mes)
Gráfica de Python

Ayuda declaracion funciones python

Publicado por mariano (1 intervención) el 16/01/2020 02:09:05
me encuentro aprendiendo python y estoy en la sección de funciones, realizando un ejercicio el cual consiste en solicitar un nombre, imprimirlo, modifícarlo e imprimirlo de nuevo pude observar que no se modifica correctamente el nombre, no se si estoy declarando mal las funciones o por que no funciona mi código, si alguien me puede ayudar lo agradecería mucho, código a continuación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
def imprimirNombre():
    print("Nombre : " + nombre)
    return nombre
 
def modificarNombre():
    nombre = input("\n Digita tu nombre : ")
    print()
    return nombre
 
 
nombre = input("\n Digita tu nombre : ")
print()
 
opcion = 4;
 
while opcion != 0:
    opcion = int(input("\n Digita una opcion : "))
 
    if opcion == 1:
        # Imprimir Nombre
        imprimirNombre()
 
    elif opcion == 2:
        #Modificar Nombre
        modificarNombre()
 
    elif opcion == 3:
        # Terminar Ejecucion
        opcion = 0
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 joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda declaracion funciones python

Publicado por joel (901 intervenciones) el 16/01/2020 08:54:32
Hola Mariano, el problema que tienes, es que no asignas el nombre modificado a la variable global nombre... recuerda que las variables definidas dentro de una función solo tienen valor dentro de la misma.

Para ello, es recomendable enviar las variables a las funciones y obtener el resultado de las mismas... mira tu mismo ejemplo funcionando.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def imprimirNombre(nombre):
    print("Nombre : " + nombre)
 
def modificarNombre():
    nombre = input("\n Digita tu nombre : ")
    print()
    return nombre
 
 
nombre = input("\n Digita tu nombre : ")
print()
 
opcion = 4;
 
while opcion != 0:
    opcion = int(input("\n Digita una opcion : "))
 
    if opcion == 1:
        # Imprimir Nombre
        imprimirNombre(nombre)
 
    elif opcion == 2:
        #Modificar Nombre
        nombre=modificarNombre()
 
    elif opcion == 3:
        # Terminar Ejecucion
        opcion = 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar