2017-09-24 31 views
-1

我希望我的程序的用戶提供一個號碼,然後用戶必須輸入該號碼。如何插入使用raw_input之前提及的數量?

我的輸入收集代碼

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

實施例:

如果用戶輸入3Insert number:之後要輸入三個數字(與它們之間的空間)在Insert your numbers:

如何將第二個響應中的值數量限制爲第一個響應中指定的數量?


我假設,我們應該使用一個列表來處理。

my_list = inp2.split() 

我使用Python 2.7

+1

你當然可以使用空間拆分inp2.split('')' –

+0

你問的是如何限制在第一個響應中獲取的數量的第二個響應值的數量? – whitebeard

+0

@whitebeard是的,這幾乎是我想要的。 – dgr379

回答

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) + ": ")) 

這樣,就沒有invali d輸入;用戶必須輸入正確數量的數字。但是,這不完全是你問的問題。

+0

第二種方法使程序更加用戶友好!太好了! – whitebeard