我希望程序的用户提供一个号码,然后用户必须输入该号码。
我的输入收集代码
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
答案 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) + ": "))
这样,没有无效的输入;用户必须输入正确数量的数字。但是,它并不完全是您提出的问题。