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

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Python 3.5) Problema con variables globales y funciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Python 3.5) Problema con variables globales y funciones  (Leído 1,301 veces)
BigKaz

Desconectado Desconectado

Mensajes: 94


Ver Perfil
(Python 3.5) Problema con variables globales y funciones
« en: 19 Diciembre 2016, 21:55 pm »

Código
  1. def preg(nm,ap,m,j):
  2. nm = input(m,": Ingresa nombre de,",j,": ")                          
  3. while len(nm)>20 or not nm.isalpha() or len(nm)<=2:
  4. nm = input(m,"Demasiados car. (min 3 y max 20) o car. invalido,",j,"ingrese otra vez el nombre: ")
  5. limpiar()
  6. ap = input(m,": Ingresa apellido de 1er jugador: ")
  7. while len(ap)>20 or not ap.isalpha() or len(ap)<=2:
  8. ap = input(m,"Demasiados car. (min 3 y max 20) o car. invalido,",j,"ingrese otra vez el apellido: ")
  9. def programa(): #Definir el programa para poder hacer la funcion reinicio
  10. global nm1,nm2,nm3,nm4,ap1,ap2,ap3,ap4
  11. print ()
  12. print ("|----------------|")
  13. print ("|Lista de ajedrez|")
  14. print ("|----------------|")
  15. print ()
  16. print ()
  17. input("PRESIONA ENTER PARA INICIAR EL REGISTRO DE PRIMERA MESA| ") #Inicio primera mesa                                
  18. limpiar()
  19. global nm1,ap1,nm2,ap2,nm3,ap3,nm4,ap4  #Define a las variables mencionadas a globales                                                                                        
  20. preg(nm1,ap1,"MESA 1","JUGADOR 1")
  21. limpiar()
  22. preg(nm2,ap2,"MESA 1","JUGADOR 2")
  23. limpiar()                                    
Tengo un problema con este codigo, al parecer es por el estado de las variables.
Error:
Código
  1. |----------------|
  2. |Lista de ajedrez|
  3. |----------------|
  4.  
  5.  
  6. PRESIONA ENTER PARA INICIAR EL REGISTRO DE PRIMERA MESA|
  7. Traceback (most recent call last):
  8.  File "CAJ_optimizado.py", line 199, in <module>
  9.    programa()
  10.  File "CAJ_optimizado.py", line 169, in programa
  11.    preg(nm1,ap1,"MESA 1","JUGADOR 1")
  12. NameError: name 'nm1' is not defined
  13.  
Hice la funcion preg() para optimizar mi codigo y asignar las variables con los parametros. Pero tengo un global en TODAS mis funciones y aun asi no me sirve, como soluciono esto?


En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: (Python 3.5) Problema con variables globales y funciones
« Respuesta #1 en: 20 Diciembre 2016, 05:41 am »

También tienes que hacer global las variables dentro de la función preg

Saludos!


En línea

engel lex
Colaborador
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: (Python 3.5) Problema con variables globales y funciones
« Respuesta #2 en: 20 Diciembre 2016, 13:59 pm »

Global más que las variables a scope global, es como si las sacara de un contenedor especial (y si no existe las crea) así como estas no cambian del scope donde fueron llamadas, debes llamarlas al entrar en otro... es decir llamarlas cada vez que entras a una función donde serán usadas
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.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasar variables por formulario sin variables globales¿? « 1 2 »
PHP
hardkoo 11 7,202 Último mensaje 22 Noviembre 2006, 12:55 pm
por chicuela66
Problema funciones, valores globales y demas
PHP
Azielito 3 1,529 Último mensaje 31 Julio 2007, 18:17 pm
por Sanjuu
[Duda Python+TK] Sobre variables y funciones
Scripting
xassiz_ 3 2,893 Último mensaje 4 Marzo 2010, 21:21 pm
por xassiz_
problema con variables creadas en funciones
Java
4dr14n31t0r 2 902 Último mensaje 19 Noviembre 2015, 02:20 am
por furciorifa
Estoy colocando bien las variables globales, y el prototipo de las funciones
Programación C/C++
Naimaderis 3 769 Último mensaje 22 Diciembre 2016, 01:21 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines