Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Melaksanakan Input Pengguna Terhad Masa dalam Python?

Bagaimanakah Saya Boleh Melaksanakan Input Pengguna Terhad Masa dalam Python?

Barbara Streisand
Lepaskan: 2024-11-27 01:49:11
asal
454 orang telah melayarinya

How Can I Implement Time-Limited User Input in Python?

Input Pengguna Terhad Masa dalam Python

Apabila meminta input pengguna dengan fungsi input, anda mungkin mahu mengehadkan masa pengguna mempunyai untuk bertindak balas. Ini membolehkan anda mengendalikan tamat masa dengan anggun dan memberikan maklum balas yang sesuai.

Menggunakan Input Terhad Masa

Untuk melaksanakan input terhad masa, pertimbangkan pendekatan berikut:

Pendekatan Benang Menyekat (Python 2/3)

import threading

timeout = 10  # In seconds
t = threading.Timer(timeout, lambda: print('Sorry, times up.'))
t.start()

prompt = "You have {} seconds to choose the correct answer...\n".format(timeout)
answer = input(prompt)
t.cancel()  # Stop the timer if the user provides a response
Salin selepas log masuk

Pendekatan Benang Tidak Menghalang (Python 3)

import sys
import msvcrt  # For Windows
import time  # For Unix

def input_with_timeout(prompt, timeout, timer=time.monotonic):
    sys.stdout.write(prompt)
    sys.stdout.flush()
    endtime = timer() + timeout
    result = []

    while timer() < endtime:
        if msvcrt.kbhit():  # For Windows
            # Handle keyboard input
        else:  # For Unix
            ready, _, _ = select.select([sys.stdin], [], [], timeout)
            if ready:
                return sys.stdin.readline().rstrip('\n')

    raise TimeoutExpired()
Salin selepas log masuk

Pendekatan Pengendalian Isyarat (seperti Unix sistem)

import signal

def alarm_handler(signum, frame):
    raise TimeoutExpired()

def input_with_timeout(prompt, timeout):
    signal.signal(signal.SIGALRM, alarm_handler)
    signal.alarm(timeout)

    try:
        return input(prompt)
    finally:
        signal.alarm(0)  # Cancel the alarm
Salin selepas log masuk

Pilih pendekatan yang paling sesuai dengan sistem pengendalian anda dan keperluan menyekat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Input Pengguna Terhad Masa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan