Python输入().split()函数问题

2024-04-24 19:04:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从用户那里获取两个数字输入,然后将这两个数字相加。所以我经常从用户那里得到两个数字

x,y = input().split()

但在某些情况下,如果用户只输入一个数字,程序应该打印相同的数字。如果用户只输入一个数字,错误就会弹出

ValueError: not enough values to unpack (expected 2, got 1)

Tags: to用户程序input错误not情况数字
2条回答

并不是说你需要在输入后检查它

nums = input().split()
if len(nums) > 1:
    # Do stuff here
    pass

关于try/except-异常处理的引用:https://www.w3schools.com/python/python_try_except.asp

您的方法看起来可以接受用户输入并分配给两个变量。如果失败,我们知道用户没有按照说明操作,因此他们可以重试

然而,这是一个严格的解决方案,只允许用户输入两个值。但如果您希望这样,您可以捕获如下异常:

for _ in range(n_tries):
    try:
        x, y = input("Enter two numbers to add: ").split()

    except ValueError:
        print("Incorrect input, try again.")

这使它变得非常简单:您不必测试输入的长度,当它正确时,它会自动分配到两个变量中

如果您希望能够处理用户只给出一个数字、三个数字或其他任何数字的情况,那么上述分配将不起作用。最好是指定一个变量,然后在拆分字符串时编写代码来测试结果列表的长度

相关问题 更多 >