[Python] Establecer un temporizador

Iniciado por elmoyer, 28 Octubre 2013, 08:02 AM

0 Miembros y 1 Visitante están viendo este tema.

elmoyer

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:

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):

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]

0x5d

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 !
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !