синтаксическая ошибка в строке: `если x.isupper (), а не в y`

1

Я получаю ошибки "неправильного синтаксиса", указывающие на инструкцию "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 ответа

5
Лучший ответ

Вы, вероятно, хотите

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

скорее, чем

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

Обратите внимание на недостающую note во втором.

  • 0
    Вот и все. Спасибо!
0

Обратите внимание, что это бесконечный цикл при определенных условиях, например "note in patternNotes". Переместите инструкцию "notes - = 1" за пределы if/elif, и проблема решена.

0

Следует note[0].isupper() and note not in patternNotes: (обратите внимание на вторую note до not)

После этого ваш синтаксис прекрасен:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню