w3schools Python tryit编辑器使用input函数报EOFError问题咨询
问题解答
首先明确结论:该报错是w3schools平台的设计限制导致,并非你的代码存在问题,可通过对应操作规避。
报错原因
你遇到的EOFError报错内容如下:
Traceback (most recent call last):
File "./prog.py", line <line # of input>, in
EOFError: EOF when reading a line
w3schools的Python TryIt编辑器默认未启用实时交互输入能力,程序运行时默认传入的标准输入流为空。当代码执行到input()函数,需要从标准输入流读取一行内容时,流已经到末尾无内容可读,就会触发上述报错。
你提供的测试代码本身完全符合Python 3语法规范:
print("foo") x = input("bar")
该代码在所有支持标准输入的Python运行环境(如本地Linux Python 3、Programmiz在线编辑器等)都可以正常运行,无任何语法或逻辑问题。
规避方案
- 如果你需要继续使用w3schools的编辑器测试该代码,可以在编辑器的预设输入区域提前填写你要输入的内容,每一行内容对应一次
input()调用的返回值,运行时代码会直接读取预设内容,不会触发EOF报错。 - 如果你需要调试带实时交互输入的Python代码,更推荐使用本地安装的Python 3解释器运行,或使用支持实时交互的在线Python运行环境。
内容的提问来源于stack exchange,提问作者Dormierian
相关产品推荐
相关产品推荐

