2014-10-28 76 views
0

我想知道如何讓我的代碼檢測兩位數或三位數並將它們放入列表中。目前它分隔任何兩位數字,併爲每個數字而不是每個數字分配一個列表值。例如,如果用戶輸入「5 55 6 45 3」,程序將以[「5」,「5」,「5」,「6」,「4」,「5」,「3」]的形式輸入。您。輸入列表 - 雙/三位

main_list = list(input("Enter numbers: ")) 
for vals in main_list: 
    if vals == " ": 
     main_list.remove(vals) 
print("The original numbers are",main_list) 

回答

0

可以使用.split()方法字符串(以字符串直接合作,不list(...)):input("Enter numbers: ").split(' ')回報

["5", "55", "6", "45", "3"] 

即它分裂在每個' '的字符串。注意如果有雙倍空間會發生什麼情況:您將在列表中獲得空字符串。所以最好的方法可能是檢查,如果字符串非空:

[x for x in input("Enter numbers: ").split(' ') if x] 

還要注意的是這部作品在Python3.x只(因爲input返回值是一個字符串)。 Python 2的相應功能是raw_input()。所以,如果你需要它同時兼容,你可以使用

try: 
    [x for x in raw_input("Enter numbers: ").split(' ') if x] 
except NameError: 
    [x for x in input("Enter numbers: ").split(' ') if x] 

而不是周圍的其他方式(input()存在於Python2,它只是簡化版,做同樣的事情)。