Dalam Python, fungsi raw_input() menggesa pengguna untuk input, tetapi ia menunggu selama-lamanya sehingga pengguna memasukkan sesuatu. Untuk situasi di mana anda perlu mengenakan had masa pada input pengguna, penyelesaian tersedia menggunakan modul penjalinan.
Fungsi raw_input_with_timeout() , seperti yang dicadangkan oleh pengguna, mengambil dua hujah: prompt (teks yang dipaparkan kepada pengguna) dan tamat masa (had masa dalam saat). Ia memulakan urutan pemasa yang akan mengganggu urutan utama selepas tamat masa yang ditentukan.
Berikut ialah versi kod yang dipertingkatkan:
import threading def raw_input_with_timeout(prompt, timeout=30.0): print(prompt, end=' ') timer = threading.Timer(timeout, thread.interrupt_main) astring = None try: timer.start() astring = input(prompt) except KeyboardInterrupt: pass timer.cancel() return astring
Jika pengguna memasukkan input sebelum tamat masa, input dikembalikan sebagai rentetan. Jika tamat masa dicapai, Tiada dikembalikan untuk menunjukkan bahawa pengguna tidak memberikan input dalam jangka masa yang ditentukan.
Perhatikan bahawa penyelesaian ini menganggap bahawa pengguna tidak menaip sangat perlahan. Jika anda perlu mengambil kira penaip perlahan, anda boleh mengira semula penamat (masa tamat masa berlaku) selepas setiap input aksara.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Tamat Masa untuk Input Pengguna dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!