2024-04-24 19:04:35 发布
网友
我需要从用户那里获取两个数字输入,然后将这两个数字相加。所以我经常从用户那里得到两个数字
x,y = input().split()
但在某些情况下,如果用户只输入一个数字,程序应该打印相同的数字。如果用户只输入一个数字,错误就会弹出
ValueError: not enough values to unpack (expected 2, got 1)
并不是说你需要在输入后检查它
nums = input().split() if len(nums) > 1: # Do stuff here pass
关于try/except-异常处理的引用:https://www.w3schools.com/python/python_try_except.asp
try
except
您的方法看起来可以接受用户输入并分配给两个变量。如果失败,我们知道用户没有按照说明操作,因此他们可以重试
然而,这是一个严格的解决方案,只允许用户输入两个值。但如果您希望这样,您可以捕获如下异常:
for _ in range(n_tries): try: x, y = input("Enter two numbers to add: ").split() except ValueError: print("Incorrect input, try again.")
这使它变得非常简单:您不必测试输入的长度,当它正确时,它会自动分配到两个变量中
如果您希望能够处理用户只给出一个数字、三个数字或其他任何数字的情况,那么上述分配将不起作用。最好是指定一个变量,然后在拆分字符串时编写代码来测试结果列表的长度
并不是说你需要在输入后检查它
关于
try
/except
-异常处理的引用:https://www.w3schools.com/python/python_try_except.asp您的方法看起来可以接受用户输入并分配给两个变量。如果失败,我们知道用户没有按照说明操作,因此他们可以重试
然而,这是一个严格的解决方案,只允许用户输入两个值。但如果您希望这样,您可以捕获如下异常:
这使它变得非常简单:您不必测试输入的长度,当它正确时,它会自动分配到两个变量中
如果您希望能够处理用户只给出一个数字、三个数字或其他任何数字的情况,那么上述分配将不起作用。最好是指定一个变量,然后在拆分字符串时编写代码来测试结果列表的长度
相关问题 更多 >
编程相关推荐