2016-04-28 33 views
0

這段代碼的重點在於將userInput附加到包含用戶選擇的另一個單詞的列表中。然而事情只是保持循環,我懷疑else語句下的代碼有問題。我無法弄清楚什麼。有任何想法嗎?謝謝!將一個項目插入到一個嵌套列表的某個列表中PYTHON CLOSED

import sys 

list1 = ["hello", "hi"] 
list2 = ["goodbye", "bye"] 

my_list = [list1, list2] 
userInput0 = input("What word do you want to put into a list?") 
while True: 
    userInput1 = input("Type a word in which list you want your input to be put in") 

    if userInput1 not in (j for i in my_list for j in i): 
     continue 
    else: 
     for i in range(len(my_list)): 
      if userInput1 == my_list[i]: 
       my_list[i].append(userInput1) 
       print(my_list) 
       break 

回答

0

您的問題是這行代碼:

if userInput1 == my_list[i]: 

這條線被檢查,以查看是否用戶輸入是正好等於my_list [I]在這種情況下是一個列表。嘗試使用,而不是==

if userInput1 in my_list[i]: 
+0

太好了,謝謝!真的有幫助。 –

0

你必須做兩個for循環,一個是外部列表,然後一個嵌套列表英寸
所以,你的代碼應該是這樣的:

(...) 
else: 
    for i in range(len(my_list)): 
     for j in range(len(my_list[i])): 
      if userInput1 == my_list[i][j]: 
       my_list[i].append(userInput1) 
       print(my_list) 
       break 
(...) 
+0

Michael Robellard的回答是另一個(可能更好)解決方案... – MCManuelLP

0

有超過一個的錯誤。再次正確地檢查你的代碼。

import sys 

list1 = ["hello", "hi"] 
list2 = ["goodbye", "bye"] 

my_list = [list1, list2] 
userInput0 = input("What word do you want to put into a list?") 
while True: 
    userInput1 = input("Type a word in which list you want your input to be put in") 
    for i in range(len(my_list)): 
     if userInput1 in my_list[i]: 
      my_list[i].append(userInput0) 
      print(my_list) 
      break 
+0

對,你贏了。 –

相關問題