You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁止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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:26:28