Duda con script python

Iniciado por r00t-c0d3r, Febrero 22, 2019, 03:43:18 PM

Tema anterior - Siguiente tema

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

Buenas como va?   ;D
Ando creando un programa en Python 3.6 y necesito realizar una funcion que, cuando pida al usuario que ingrese por teclado una opcion de la lista de opciones disponibles las cuales va a visualizar por pantalla, si el usuario no ingresa ninguna de las opciones, transcurrido cierto tiempo (supongamos 10 segundos) se ponga una opcion por default (la cual la elijo yo).

Si alguno me podria dar una ayuda con esto se lo agradeceria mucho  ;D
Saludos!

"No temo a los ordenadores; lo que temo es quedarme sin ellos"
     -- Isaac Asimov

Hola Keloo, Nose bien como hacer lo que estas buscando pero creo que podrias investigar por el lado del Threading.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Eso seria para que si el usuario introduce un numero al segundo 5 no tengas que esperar los 30s.

si lo unico que queres hacer es detener el programa esos 30s lo deberias hacer con el metodo "Sleep"

Asique puedes investigar sobre 1-Threading 2-Timer 3-Sleep/Delay

Espero que te sea de ayuda!




Con la fuerza del mar, con la paz del rio


@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La mejor respuesta te la brindo @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Aqui te doy un ejemplo de lo que deseas:

Código: python

#!/usr/bin/python2
# -*- coding: UTF-8 -*-

from thread import start_new_thread
from time import sleep

tiempo_para_parar = 10 # En segundos por supuesto
v_parar = True

def parar():
     
     global tiempo_para_parar, v_parar

     sleep(tiempo_para_parar)

     if (v_parar):

          print "El tiempo a caducado, Debes insertar una opcion"

          exit()

output = start_new_thread(parar, ())

print """
[1] - Una opcion
[2] - Otra opcion
[3] - Salir

Debe insertar una opcion antes de \"%s\" segundos
""" % (str(tiempo_para_parar))

while True:

     try:

          debug = raw_input("=> ")

          if not debug:
               continue

          if debug == "1":
               print "Haz presionado una opcion"
               v_parar = False
          elif debug == "2":
               print "Haz presionado otra opcion"
               v_parar = False
          elif debug == "3":
               sys.exit()
          else:
               print "Opcion incorrecta"

     except:
          exit()
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Puedes usar la libreria time para el conteo de los 10s