Python 3 - EOF 错误

问题描述 投票:0回答:2

当我尝试执行此代码时,出现以下错误,

Traceback (most recent call last):
  File "c:\dev\tmp\_t636427523447579562.py", line 32, in  tentativa = int(input())
EOFError: EOF when reading a line

import random
import sys

controlo = 0
numero = 134+78



while controlo<3:
    tentativa = int(input())

    if tentativa == numero:
        print("Acertou")
        break
    else:
         controlo +=1
         continue

if controlo == 3:
    print("Falhou")
    sys.exit()



controlo = 0

random_1 = random.randrange(1, 100)
random_2 = random.randrange(1, 100)
soma = random_1 + random_2

while controlo<3:
    tentativa_2 = int(input())

    if tentativa_2 == soma:
         print("Acertou")
         break
    else:
            controlo +=1
            continue

if controlo == 3:
    print("Falhou")
python user-input
2个回答
0
投票

我猜你在这里使用的是 Python 2,而不是标签所暗示的 Python 3。

在Python 2中,input()等待用户输入一些文本,然后尝试执行它。 如果按“Enter”,input() 将给出 EOF 错误。 我认为这就是这里发生的情况,因为如果输入数字,您的代码就会起作用。 我建议使用 Python 3 或 Python 2 中的 raw_input()。有关更多信息,请参阅 here


0
投票

更改以下行可能会解决您的问题

tentativa = int(input())

读取=输入()

现在您可以在这里检查“read”是数字还是与字符混合 添加 if 条件并检查

暂定 = int(已读)

© www.soinside.com 2019 - 2024. All rights reserved.