Código
Tengo un problema con este codigo, al parecer es por el estado de las variables.
def preg(nm,ap,m,j): nm = input(m,": Ingresa nombre de,",j,": ") while len(nm)>20 or not nm.isalpha() or len(nm)<=2: nm = input(m,"Demasiados car. (min 3 y max 20) o car. invalido,",j,"ingrese otra vez el nombre: ") limpiar() ap = input(m,": Ingresa apellido de 1er jugador: ") while len(ap)>20 or not ap.isalpha() or len(ap)<=2: ap = input(m,"Demasiados car. (min 3 y max 20) o car. invalido,",j,"ingrese otra vez el apellido: ") def programa(): #Definir el programa para poder hacer la funcion reinicio global nm1,nm2,nm3,nm4,ap1,ap2,ap3,ap4 print () print ("|----------------|") print ("|Lista de ajedrez|") print ("|----------------|") print () print () input("PRESIONA ENTER PARA INICIAR EL REGISTRO DE PRIMERA MESA| ") #Inicio primera mesa limpiar() global nm1,ap1,nm2,ap2,nm3,ap3,nm4,ap4 #Define a las variables mencionadas a globales preg(nm1,ap1,"MESA 1","JUGADOR 1") limpiar() preg(nm2,ap2,"MESA 1","JUGADOR 2") limpiar()
Error:
Código
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?
|----------------| |Lista de ajedrez| |----------------| PRESIONA ENTER PARA INICIAR EL REGISTRO DE PRIMERA MESA| Traceback (most recent call last): File "CAJ_optimizado.py", line 199, in <module> programa() File "CAJ_optimizado.py", line 169, in programa preg(nm1,ap1,"MESA 1","JUGADOR 1") NameError: name 'nm1' is not defined