-1

我正在尝试从用户那里获取多个输入并通过文件结束(EOF)错误打破循环。

while True:
try:
    n, l, c = map(int,input().split())

except EOFError:
    break

但是当用户给出多个输入然后按 Enter 时,就会出现 ValuEroor 警告。

ValueError:没有足够的值来解包(预期 3,得到 0)

在这种情况下,有没有办法让 EOFeroor 打破循环并避免 ValueEoor?

4

1 回答 1

0

EOFError只有当用户按下 CTRL-D 时,您才会得到。只需添加ValueError捕获的异常:

except (EOFError, ValueError):

或者,如果需要以不同方式处理:

except EOFError:
    ...
except ValueError:
    ...

如果用户输入的字符串无法转换为int.

于 2021-12-04T20:51:57.730 回答