我如何映射从输入中获取的两个或一个值

时间:2017-07-19 16:51:16

标签: python-3.x

我试图解决hackerrank的一些挑战。描述如下:https://www.hackerrank.com/challenges/maximum-element 所以我试试这段代码

query,number=map(int,input().split())

当我有两个变量时,这段代码很有效,而当我有一个变量时,这段代码就失败了。

1 个答案:

答案 0 :(得分:0)

如果您希望用户有时不输入预期值,则需要在开始处理之前进行一些输入验证,例如:

user_input = input().split()
if len(user_input) < 2:
    print("At least two parameters are required!")
else:
    try:
        query = int(user_input[0])
        number = int(user_input[1])
    except ValueError:
        print("At least two integer parameters are required!")

您可以进行更多的输入后验证以匹配您所需的参数,或者您可以将验证的某些方面结合起来,在仅将一个参数设置为默认值时选择一个参数,等等。这完全取决于在您期望的业务逻辑上。