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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [SOLUCIONADO] Python - ¿Por qué este error? No consigo entenderlo :(
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] Python - ¿Por qué este error? No consigo entenderlo :(  (Leído 3,352 veces)
Biodude9456

Desconectado Desconectado

Mensajes: 26


Ver Perfil
[SOLUCIONADO] Python - ¿Por qué este error? No consigo entenderlo :(
« en: 2 Marzo 2016, 19:43 pm »

Código
  1. def login():
  2.    sesion = input("Nombre de usuario:  ")
  3.    seguir = True
  4.    while seguir:
  5.        if sesion.lower()=="invitado":
  6.            print("Has iniciado sesion como invitado.")
  7.            seguir = False # Termina el while externo
  8.        elif sesion.lower()=="patata":
  9.            seguir = False
  10.            seguir2 = True
  11.            while seguir2: #bucle infinito hasta que password == "100azul100".
  12.                password = input("Contrasena:  ")
  13.                if password=="777":
  14.                    print("Has iniciado sesion como administrador.")
  15.                    seguir2 = False # Termina el while interno
  16.                    start.admin = True
  17.                    continue
  18.        elif sesion.lower()!="patata"or" invitado":
  19.            login()
  20.  
  21. login()
  22. while start.admin: # me marca que no existe el start.admin
  23.   print()
  24.   print("1-Añadir o eliminar usuarios")
  25.   #...

Nombre de usuario:  patata
Contrasena:  777
Has iniciado sesion como administrador.
Traceback (most recent call last):
  File "/storage/emulated/0/com.hipipal.qpyplus/scripts3/.last_tmp.py", line 21, in <module>
    login()
  File "/storage/emulated/0/com.hipipal.qpyplus/scripts3/.last_tmp.py", line 16, in login
    start.admin = True
NameError: global name 'start' is not defined

 
No entiendo, por qué no está definido :(


« Última modificación: 3 Marzo 2016, 15:37 pm por Biodude9456 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #1 en: 2 Marzo 2016, 19:44 pm »

donde definiste el objeto start?


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.
Biodude9456

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #2 en: 2 Marzo 2016, 19:56 pm »

Código
  1.     if password=="777":
  2.                    print("Has iniciado sesion como administrador.")
  3.                    seguir2 = False # Termina el while interno
  4.                    start.admin = True

Ahí


Edito: ese" ." de start.admin era un "_"
« Última modificación: 2 Marzo 2016, 19:58 pm por Biodude9456 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #3 en: 2 Marzo 2016, 20:08 pm »

si lo pones con un punto, estás tratando de acceder a la propiedad admin del objeto start...

la cosa es que en programacion existen lo que se llaman "scopes" que son los alcances de las variables... si  declaras una variable dentro de un scope (una sangria) no existe fuera de ella... es decir


Código
  1. variable1 = true;
  2. while variable1:
  3.    variable2 = false
  4.    variable1=variable2 #esto si funciona porque variable1 está en un scope más externo
  5. print(variable1)
  6. print(variable2)#aqui da un error porque variable2 solo existe en el scope del while
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.
Biodude9456

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #4 en: 2 Marzo 2016, 20:38 pm »

Entonces cómo crees que podría hacerlo ? :/
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #5 en: 2 Marzo 2016, 20:42 pm »

en la linea 1 declara start, en su defecto, puedes hacer return true para que la funcion retorne verdadero cuando deba
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.
Biodude9456

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #6 en: 2 Marzo 2016, 21:14 pm »

Perdona la ignorancia, pero no lo consigo   :-X
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #7 en: 2 Marzo 2016, 21:41 pm »

estás haciendo dos cosas mal:
1)usando la variable fuera de la función en la cual la definiste, para hacerlo debes declararla como global dentro de la función:
Código
  1. def login():
  2. global startetc
  3. startetc=lo que  quieras
  4.  

2)no uses variables con punto, se interpreta como una propiedad de objeto, en todo caso usa _
start_etc
En línea

Biodude9456

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Python - ¿Por qué este error? No consigo entenderlo :(
« Respuesta #8 en: 2 Marzo 2016, 22:29 pm »

Eso es lo que necesitaba! Gracias :) aún estoy aprendiendo  :-[
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO] Porque da este error ??
PHP
Diabliyo 1 1,909 Último mensaje 17 Julio 2008, 17:49 pm
por Diabliyo
alguien podria ver este error aque se debe (SOLUCIONADO)
Windows
dvdr 7 5,260 Último mensaje 16 Julio 2011, 13:40 pm
por dvdr
Instalar libreria python. (no lo consigo)
Software
rubenkanikace 4 2,156 Último mensaje 26 Julio 2012, 14:48 pm
por rubenkanikace
ERROR CON ESTE COMANDO: sudo python ./setup.py install
Hacking
loixak 6 5,161 Último mensaje 20 Mayo 2015, 18:44 pm
por loixak
Error try Python [SOLUCIONADO]
Scripting
Sk9ITk5Z 0 2,251 Último mensaje 3 Febrero 2017, 15:07 pm
por Sk9ITk5Z
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines