我对此代码的观点是将userInput附加到包含用户选择的另一个单词的列表中。然而,事情只是循环,我怀疑else语句下的代码有问题。我无法弄清楚是什么。有任何想法吗?谢谢!
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 :(得分:0)
你的问题是这行代码:
if userInput1 == my_list[i]:
这一行检查用户输入是否完全等于my_list [i],在这种情况下是一个列表。尝试使用in而不是==
if userInput1 in my_list[i]:
答案 1 :(得分: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
(...)
答案 2 :(得分: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