在线Python无法使用input()

报错内容:
Traceback (most recent call last):
File "script.py", line 10, in
a=int(input('a+b='))
EOFError: EOF when reading a line

Exited with error status 1
请各位帮忙看一下
代码:
a=int(input('a+b='))

大部分在线python工具都会有一个“标准输入stdin”的输入框,你需要事先将input需要的内容输入到这个地方,然后运行就不会出错。

img

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 《python语言程序设计》第5章第10题 里EOFError:EOF when reading a line? 问题的解决(小白分享)中的 编写程序提示用户输入学生个数以及每个学生的分数,然后显示最高分。假设输入是存储在一个名为score.txt的文件,程序从这个文件获取输入。 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    这个问题发生的原因是在线Python编译器没有提供标准输入流(stdin)供input()函数读取用户输入。因此,你需要使用其他方法来模拟用户输入。

    一种解决方案是使用命令行参数来传递用户输入。你可以修改代码,将用户输入作为命令行参数传递给脚本。以下是一个示例代码:

    import sys
    
    # 获取命令行参数
    args = sys.argv
    
    # 判断是否提供了足够的参数
    if len(args) < 2:
        print("请输入参数 a+b=")
        sys.exit(1)
    
    # 获取用户输入的参数
    input_str = args[1]
    
    # 尝试将输入的参数转换为整数
    try:
        a = int(input_str)
    except ValueError:
        print("输入的参数不是一个整数")
        sys.exit(1)
    
    # 在这里继续处理a的值
    

    在运行程序时,将用户输入作为参数传递给脚本,例如:

    python script.py 10
    

    其中10是用户输入的值。通过sys.argv获取用户输入的参数,然后将其转换为整数。

    这样,你就可以在在线Python编译器中模拟用户输入了。

    请注意,该解决方案仅适用于在线Python编译器不提供标准输入流的情况。如果你在本地运行Python代码,可以直接使用input()函数来获取用户输入,而无需修改代码。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^