Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: elmoyer en 28 Octubre 2013, 08:02 am



Título: [Python] Establecer un temporizador
Publicado por: elmoyer en 28 Octubre 2013, 08:02 am
Hola,

estoy haciendo un ejercicio de programación en Python y me he quedado atascado. Tengo que simular un cajero automático que mejore su funcionamiento actual.

Funcionamiento actual:

Código:
Pregunta por el PIN
Lee el PIN introducido
Si el PIN es correcto,
        pregunta sobre la cantidad que deseamos retirar.
        Nos da el importe deseado.
        Si han pasado 2 segundos y el dinero sigue en la ranura del cajero,
                   se "traga" el importe.
                   Dicho importe vuelve a la cuenta del usuario.


Mi código(tengo que acabarlo):

Código:
print ("Bienvenido al banco XY")
pin = int (input("Por favor introduzca su número PIN: "))
if pin == 1234:
        option = int(input("Elija una de las siguientes opciones:"))
        print ("1.- Pago")
        print ("2.- Retiro")
        print ("3.- Estado bancario")
        print ("Ha elegido la opcion ",option)
else:
        print ("Por favor introduzca de nuevo su número PIN:")
Estado_cuenta = 999999999999999999999999999999999999999999999999999999999
if pin == 2105:
        ## print ("OK")
        importe = int (input("Cuanto desea retirar:  "))
  
elif Estado_cuenta  > 999999999999999999999999999999999999999999999999999999999:
        print("Lo sentimos, no posee de tanto dinero.")
elif Estado_cuenta  <=999999999999999999999999999999999999999999999999999999999:
        print("ha sacado",importe, "€ ")
        print ("Retire el dinero en los proximos 2 segundos"[code]



##Y aquí empieza mi problema, no se como representar que si en 2 segundos no retira el dinero, va a volver a su cuenta. Como puedo introducir un "cronómetro" en este código?
He escuchado algo de clock_gettime pero no se utilizarlo y ni siquiera se si sirve para lo que quiero.  Espero haberme explicado bien.
Me falta por añadir la opción 3, que no creo que tenga problemas.
Un saludo y muchas gracias!
[/code]


Título: Re: [Python] Establecer un temporizador
Publicado por: 0x5d en 28 Octubre 2013, 15:20 pm
Hola buen día.

Espero no te moleste algunas observaciones que haré en cuanto a tu código :D

Leyendo el funcionamiento teórico creo que deberías luego de preguntar la cantidad a retirar, consultar si tiene el saldo suficiente para retirar.
Otra cosa es que utilizas en el código: int(input(blablabla)) . Deberías quitar el int() puesto que input() es numérico (al menos hasta la 2.7, pero por tu sintaxis pienso que no utilizas sobre 2.7)
Y pues de último las variables se recomienda empezarlas con minúsculas, pues cuando empiezan con mayúsculas se las da un significado distinto :D

Averigua sobre time() y threads para hacer lo de los 2 segundos n.n

Saludos !