Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: bygatox en 26 Febrero 2014, 20:00 pm



Título: problema en python
Publicado por: bygatox en 26 Febrero 2014, 20:00 pm
buenas, estoy haciendo un programa muy básico en python y no se cual es el problema por que se cierra automáticamente al abrir, el programa seria este:

Código
  1. print "security"
  2. cont = raw_input("pass?")
  3. if cont == "password123"
  4. print "lo lograste"
  5. else
  6. print "no lo lograste"


Título: Re: problema en python
Publicado por: Eleкtro en 27 Febrero 2014, 03:38 am
No estás usando la sintaxis correcta:
Citar
Código:
if cont == "password123"
else
Además de eso, las instrucciones dentro del bloque del If, deben indentarse.

Prueba así:
Código
  1. def security():
  2. print "security"
  3. cont = raw_input("pass?")
  4. if cont == "password123":
  5. print "lo lograste"
  6. else:
  7. print "no lo lograste"
  8. security()
  9.  
  10. security()

Saludos


Título: Re: problema en python
Publicado por: bygatox en 27 Febrero 2014, 06:59 am
muchas gracias :),
si no te molesta tendrás manuales y/o tutoriales buenos por que no pensé equivocarme en algo tan básico ni entiendo por que se ocupara el "security ()" al final

ya encontre en el mismo foro gracias :)


Título: Re: problema en python
Publicado por: Príncipe_Azul en 8 Marzo 2014, 08:23 am
Hola bygatox, te explicaré este código que he modificado del compañero Elektro:

Código:
def security(): #Nombre de la funcion
    print "security" #Imprime en pantalla el texto "security" (sin comillas)
    cont = raw_input("pass?") #Guarda en la variable cont el valor del texto ingresado por el usuario
    if cont == "password123": #Condicional if que compara si el texto que escribio el usuario es igual que el texto "password123"
        print "lo lograste" #Si la condicion se cumple se imprimira en la consola el texto "lo lograste"
    elif cont.lower() == "salir": #En caso que el texto que ingreso el usuario no sea igual que "password123", compara que el usuario haya escrito la palabra "salir", en caso afirmativo cierra la consola equivalente a salir del programa, el método .lower() se utiliza para pasar un X texto a TODO minusculas, asi que por mas que el usuario escriba SALIR lo mismo se cierra el prograam.
        exit() #Comando para cerrar el programa
    else: #Si no se cumple ninguna de las 2 condiciones, Python ejecuta los comandos del condicional "else:"
        print "no lo lograste" #Texto que se imprimira en la consola/pantalla cuando el usuario no haya escrito ni "password123" ni tampoco "salir"
        security() #Repite el proceso de pedirle al usuario que escriba nuevamente la clave, esto se conoce como "bucle", ya que vuelve a llamar la misma función tantas veces hasta que se escribe la palabra "salir" para finalizar el programa

security() #Método para llamar a la funcion security

Bueno con esto espero que no te queden más dudas amigo, lo que si siempre usa la codificación de caracteres al comienzo de tu script para evitar errores de códigos ASCII, para eso utilizá este código al comienzo de tu script:

Código:
# -*- coding: utf-8 -*-

Eso funciona tanto para Linux como Windows, OJO en algunos casos vas a tener que usar esto en las variables, por ejemplo:

Código:
Var1 = u"Este es un lindo día"
Var2 = u"Que hermosa canción que estoy escuchando"
Var3 = u"Hoy es miércoles"

Esa letra "u" que está antes de entrecomillar las variables es para especificar que se trata de una variable UNICODE.

IMPORTANTE: Python es Case Sensitive (Distingue entre letras mayúsculas y minúsculas) por ejemplo: Hola, HOLA y hola son tres palabras diferentes para Python.
Otra cosa importante, por lo menos en mi opinión y experiencia, tratá siempre de no usar Tabulaciones para dejar espacios, por más que sea más fácil en los códigos ya que a mi en lo personal eso me daba problemas, errores en los códigos.
Para solucionar esto utilizá SIEMPRE el editor NotePad++ que es excelente, mejor imposible, bajate la última versión que está espectacular, cuando estés más en el tema y hagas códigos un poco más difíciles podrás entender como trabaja ese programa con las sintáxis, colores, avisos, etc.
En ese mismo programa yo lo he configurado para que al usar la tecla TAB me deje 4 espacios, sería equivalente a dejar 4 espacios con la barra espaciadora.

Bueno eso es todo!!
Buena suerte!!

PD: Te recomiendo el tutorial Python para todos que está excelente, fácil para novatos y muy bien explicado.