繁体   English   中英

如何在 Python 中获取“EOFEroor”,同时从用户那里获取多个输入?

[英]How can I get "EOFEroor" in Python while taking multiple inputs from users?

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

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

except EOFError:
    break

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

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

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

如果用户按下 CTRL-D,您只会得到EOFError 只需将ValueError添加到捕获的异常中:

except (EOFError, ValueError):

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

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

无论如何,如果用户输入的字符串无法转换为int ,您将需要它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM