2014-12-03 29 views
0
for i in range(0,len(qList)): 
    response=(input((stringify(aList[i]))) 
    if (response==cList[i]) or ((" "+response) in aList[i]): 

其中cList是一个字符串列表,而aList是一个字符串列表列表。stringify是一个辅助函数,它通过组合列表元素来生成一个字符串。 其中一个字符串在它之前有一个“”。这样做的目的是允许用户输入一个数字(在cList中找到)或确切的文本(可在aList的子列表中找到)。Python中的'if或'语法错误。不知道代码有什么问题

我真的不确定在哪里出错,说实话,我尝试了几个不同的东西。

+2

尝试在第二行中计算括号。 – 2014-12-03 18:52:43

回答

5

你缺少前行右括号:

response=(input((stringify(aList[i]))) 
#  1  23   4  432 ? 

您正在使用方式对这些括号的许多无论如何,以下就足够了:

response = input(stringify(aList[i])) 
if response == cList[i] or " " + response in aList[i]: 

如果你想要并行访问aList,bListcList中的元素,请考虑使用zip()

for a, b, c in zip(aList, bList, cList): 
    response = input(stringify(a)) 
    if response == c or " " + response in a: 
+0

...如果OP刚插入'print(response)',它可能会显示这个 – smci 2014-12-03 18:53:47

相关问题