如何使用raw_input插入之前提到的数字?

时间:2017-09-24 05:52:57

标签: python python-2.7 raw-input

我希望程序的用户提供一个号码,然后用户必须输入该号码。

我的输入收集代码

inp1 = int(raw_input("Insert number: ")) 
inp2 = raw_input("Insert your numbers: ")

示例:

如果用户在3输入Insert number:,则必须在Insert your numbers:输入三个号码(它们之间有空格)。

如何将第二个响应中的值数限制为第一个响应中指定的数量?

我认为,我们应该使用一个列表来处理。

my_list = inp2.split()

我正在使用Python 2.7

1 个答案:

答案 0 :(得分:2)

使用len函数获取列表的长度,然后测试它是否正确:

inp1 = int(raw_input("Insert number: "))
inp2 = raw_input("Insert your numbers: ").split()
while len(inp2) != inp1:
    print "Invalid input"
    inp2 = raw_input("Insert your numbers: ").split()

另一种方法是使用循环单独地将每个输入分别放在新行上:

inp1 = int(raw_input("Insert number: "))
inp2 = []
for i in range(inp1):
    inp2.append(raw_input("Enter input " + str(i) + ": "))

这样,没有无效的输入;用户必须输入正确数量的数字。但是,它并不完全是您提出的问题。