[英]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.