Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: k3l0d3v en Febrero 22, 2019, 03:43:18 PM

Título: Duda con script python
Publicado por: k3l0d3v en Febrero 22, 2019, 03:43:18 PM
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
Título: Re:Duda con script python
Publicado por: Bartz en Febrero 22, 2019, 04:02:09 PM
Hola Keloo, Nose bien como hacer lo que estas buscando pero creo que podrias investigar por el lado del Threading.

https://docs.python.org/3/library/threading.html#timer-objects

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!
Título: Re:Duda con script python
Publicado por: DtxdF en Febrero 24, 2019, 03:02:33 PM
@Kelo_07 (https://underc0de.org/foro/index.php?action=profile;u=63325)

La mejor respuesta te la brindo @Bartz (https://underc0de.org/foro/index.php?action=profile;u=66687).

Aqui te doy un ejemplo de lo que deseas:

Código (python) [Seleccionar]

#!/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()
Título: Re:Duda con script python
Publicado por: ur4k en Abril 15, 2019, 01:36:19 PM
Puedes usar la libreria time para el conteo de los 10s