语法错误在线:`if x.isupper()而不是y`

时间:2011-07-08 14:47:32

标签: python

我收到指向“in”语句的“无效语法”错误。我的错是什么?

while(notes > 1):
    note = choice(scale)
    if note[0].isupper() and not in patternNotes:
        patternNotes.append(note)
        notes -= 1

    elif note is not rootNote and note not in patternNotes:
        patternNotes.append(note)
        notes -= 1

3 个答案:

答案 0 :(得分:5)

你可能想要

if note[0].isupper() and note not in patternNotes:

而不是

if note[0].isupper() and not in patternNotes:

请注意第二个中缺少note

答案 1 :(得分:0)

应为note[0].isupper() and note not in patternNotes:(注意note之前的第二个not

之后你的语法很好:

i = {}
j = {}
print i is not j and j not in {}
# False

答案 2 :(得分:0)

请注意,在某些条件下,这是一个无限循环,例如“note in patternNotes”。将“notes - = 1”语句移到if / elif之外,问题就解决了。