如何禁止Python用户在屏幕清除前输入?(Replit环境)
解决Replit记忆游戏中用户提前输入的问题
问题核心:time.sleep(5)期间用户输入的内容会被系统缓存,执行input()时会直接读取这些缓存内容,导致用户无需等待屏幕清除即可提交答案。
解决思路:在调用input()前清空输入缓冲区,丢弃用户提前输入的所有内容。
修改后的核心代码:
import time import replit import sys # 示例数字列表(可替换为你的数字生成逻辑) num = ['1', '2', '3'] print(''.join(num)) time.sleep(5) replit.clear() # 清空输入缓冲区,丢弃提前输入的内容 while sys.stdin.in_waiting > 0: sys.stdin.read(1) guess = input('What number did you see? ')
代码说明
sys.stdin.in_waiting:返回输入缓冲区中待读取的字符数量- 通过循环读取缓冲区所有字符并丢弃,确保后续
input()只接收屏幕清除后的新输入
内容的提问来源于stack exchange,提问作者KyleTalksAlot
相关产品推荐
相关产品推荐

