2016-11-28 119 views
-2

感謝您的幫助。 我有下面的代碼的麻煩:如何使用eval將用戶輸入放入列表中?

digitsList = input("Enter any list of 0 or more digits in the form [digit, digit, ...]:") 

if element == int(list[index]): 
    index += 1 
    return True 

else: 
    index += 1 
    return False 

例如用戶輸入:[1,2,3]

然後我得到了以下錯誤:

ValueError: invalid literal for int() with base 10: '[' 

我試圖盡我所能,但不是能夠解決它。

+0

對不起,我是一個首發,問題是我希望用戶輸入形式[數字,數字,...],但我不希望「[」或「]」在acutal列表中,因爲我想要看看0 == int(digitList [0]),如果digitList [0]是「[」,它就不會工作。有沒有辦法避免「[」或「]」被添加到列表中 – litterbeach

回答

0

按照發布方式閱讀代碼有點困難,但用戶輸入可以使用.append功能放入列表中。

例如:

list = digitsList.append("what the user inputs goes here") 
+0

對不起,我是一個首發,問題是我想用戶輸入[數字,數字,...]的形式,但我做不希望在實例列表中顯示「[」或「]」,因爲我想查看是否爲0 == int(digitList [0]),如果digitList [0]是「[」,則不會工作。有沒有辦法避免將「[」或「]」添加到列表中 – litterbeach

0

你給一個錯誤的輸入。用戶輸入的輸入應該如下所示:1 2 3。如果你都應該採取一個列表作爲輸入,這樣做:

digitslist = map(int, raw_input("Enter any list of 0 or more digits in the form [digit, digit, ...]:").split()) 

輸入:1 2 3

輸出:[1, 2, 3]

input()功能應該只需要一個intfloatstring entered with quotes作爲輸入。

+0

感謝您的幫助,因爲我正在爲我的班級做家庭作業,所以我有以下代碼限制。我允許使用的唯一Python函數是:input()eval()和len() – litterbeach

+0

,我必須要求用戶輸入[digit,digit,...]的形式 – litterbeach

+0

@litterbeach:如果你是在'python 3.x'中工作,這樣做:'eval(input())',如果在'python 2.7'中,則執行:'eval(raw_input())',用戶輸入:[1,2 ,3]'。 – Jarvis

相關問題