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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Python 3.5) No comprendo porque no funciona mi programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Python 3.5) No comprendo porque no funciona mi programa  (Leído 1,670 veces)
BigKaz

Desconectado Desconectado

Mensajes: 94


Ver Perfil
(Python 3.5) No comprendo porque no funciona mi programa
« en: 7 Diciembre 2016, 16:04 pm »

Hola, estoy haciendo un programa para gestionar las personas que se registran en las mesas de mi colegio pero me da error al hacer algunas cosas que detallare mas abajo.
Código
  1. '''Programa hecho para evitar
  2. confusiones en las mesas'''
  3. import os
  4. def limpiar():
  5.    os.system("cls")
  6. def menum1():
  7. print ("""MODO ADMINISTRACION PARCIAL ACTIVADO:
  8.       Ver MESA 1: vm1
  9.       Reiniciar: reinicio
  10.       Salir: salir
  11.       Continuar al registro de segunda mesa: r2m""")
  12. respuad = input("admin: ")
  13. limpiar()
  14. if respuad == ("r2m"):
  15. pass
  16. limpiar()
  17. if respuad == ("vm1"):
  18. print (nm1,ap1,"|",nm2,ap2)
  19. input("Presione enter: ")
  20. limpiar()
  21. menum1()
  22. if respuad == ("salir"):
  23. quit()
  24. if respuad == ("reinicio"):
  25. programa()
  26. def programa():
  27. print ()
  28. print ("|----------------|")
  29. print ("|Lista de ajedrez|")
  30. print ("|----------------|")
  31. print ()
  32. print ()
  33. input("PRESIONA ENTER PARA INICIAR EL REGISTRO DE PRIMERA MESA| ")                                 #NM = NOMBRE.
  34. limpiar()                                                                                          #AP = APELLIDO.
  35. nm1 = (input("MESA 1: Ingresa nombre de 1era persona: "))                             #MESA 1
  36. while (len(nm1)>20) or (not (nm1.isalpha()) or (len(nm1)<=2)):
  37.    nm1 = (input("Demasiados car. (min 3 y max 20) o car. invalido, ingrese otra vez: "))
  38. limpiar()
  39. ap1 = (input("MESA 1: Ingresa apellido de 1era persona: "))
  40. while (len(ap1)>20) or (not (ap1.isalpha())):
  41.    ap1 = (input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: "))
  42. limpiar()
  43. nm2 = (input("MESA 1: Ingresa nombre de 2da persona: "))
  44. while (len(nm2)>20) or (not (nm2.isalpha()) or (len(nm2)<=2)):
  45.    nm2 = (input("Demasiados car. (min 3 y max 20) o car. invalido, ingrese otra vez: "))
  46. limpiar()
  47. ap2 = (input("MESA 1: Ingresa apellido de 2da persona: "))
  48. while (len(ap2)>20) or (not (ap2.isalpha())):
  49. ap2 = (input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: "))
  50. limpiar()                                                                              #FIN MESA 1
  51. com = input("PRESIONE ENTER PARA INICIAR REGISTRO DE SEGUNDA MESA| ")
  52. if com == ("admin"):
  53. limpiar()
  54. menum1()
  55. limpiar()
  56. nm3 = (input("MESA 2: Ingresa nombre de 1era persona: "))
  57. while (len(nm3)>20) or (not (nm3.isalpha()) or (len(nm3)<=2)):
  58.    nm3 = (input("Demasiados car. (min 3 y max 20) o car. invalido, ingrese otra vez: "))
  59. limpiar()
  60. ap3 = (input("MESA 2: Ingresa apellido de 1era persona: "))
  61. while (len(ap3)>20) or (not (ap3.isalpha())):
  62.    ap3 = (input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: "))
  63. limpiar()
  64. nm4 = (input("MESA 2: Ingresa nombre de 2da persona: "))
  65. while (len(nm4)>20) or (not (nm4.isalpha()) or (len(nm4)<=2)):
  66.    nm4 = (input("Demasiados car. (min 3 y max 20) o car. invalido, ingrese otra vez: "))
  67. limpiar()
  68. ap4 = (input("MESA 2: Ingresa apellido de 2da persona: "))
  69. while (len(ap4)>20) or (not (ap4.isalpha())):
  70. ap4 = (input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: "))
  71. programa()

Me da error al entrar en modo de administacion parcial:
Código
  1. |----------------|
  2. |Lista de ajedrez|
  3. |----------------|
  4.  
  5.  
  6. PRESIONA ENTER PARA INICIAR EL REGISTRO DE PRIMERA MESA|
  7. MESA 1: Ingresa nombre de 1era persona: Big
  8. MESA 1: Ingresa apellido de 1era persona: Kaz
  9. MESA 1: Ingresa nombre de 2da persona: elhacker
  10. MESA 1: Ingresa apellido de 2da persona: net
  11. PRESIONE ENTER PARA INICIAR REGISTRO DE SEGUNDA MESA| admin
  12. MODO ADMINISTRACION PARCIAL ACTIVADO:
  13.                                      Ver MESA 1: vm1
  14.                                      Reiniciar: reinicio
  15.                                      Salir: salir
  16.                                      Continuar al registro de segunda mesa: r2m
  17. admin: vm1 #Aqui el error
  18. Traceback (most recent call last):
  19.  File "C:\Users\usuario\Desktop\AEN.py", line 71, in <module>
  20.    programa()
  21.  File "C:\Users\usuario\Desktop\AEN.py", line 54, in programa
  22.    menum1()
  23.  File "C:\Users\usuario\Desktop\AEN.py", line 18, in menum1
  24.    print (nm1,ap1,"|",nm2,ap2)
  25. NameError: name 'nm1' is not defined

Alguien sabe cual es el error y como lo soluciono?

PD: La sección en la que puse el error esta en Geshi, esta bien o solo tengo que poner geshi en el codigo?

Gracias.
Bigkaz


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: (Python 3.5) No comprendo porque no funciona mi programa
« Respuesta #1 en: 7 Diciembre 2016, 16:19 pm »

La variable nm1 no xiste en el entorno de la función menuml. La usas (defines) en programa, por lo cual es local a dicha función.

Para poder usarla en ambas funciones, define la variable en forma global (en este caso, seguido al import que tienes)

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Porque no funciona?
Programación Visual Basic
& eDu & 9 3,279 Último mensaje 15 Abril 2008, 01:11 am
por seba123neo
No comprendo codigo[Python]
Scripting
Ricardo95 2 3,237 Último mensaje 11 Diciembre 2010, 00:25 am
por Shell Root
No me funciona este programa de python
Scripting
VanX 4 3,799 Último mensaje 9 Agosto 2011, 13:37 pm
por VanX
Porque no funciona?
Programación C/C++
dgg006 3 4,581 Último mensaje 21 Octubre 2011, 01:50 am
por dewolo
¿porqué este programa símplemente no funciona?
Programación C/C++
Lotharsan 8 4,364 Último mensaje 19 Julio 2012, 18:45 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines