Неожиданный токен '<newline>' после оператора в блоке if - PullRequest
0 голосов
/ 17 сентября 2018

Я новичок в Python и мог бы помочь с приведенным ниже кодом

def find_letter_in_alphabet (letter):
    i = 0
    for current_letter in range(len(alphabet)):
        if letter != current_letter : i++
    return I

Я использую Visual Studio 2017 и инструменты Python, которые поставляются с этим.Мне сообщают об ошибке Unexpected token '<newline>' после if letter != current_letter : i++

Я привык писать на c #, поэтому python для меня довольно большое изменение.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Проблема в i++.В Python нет ++.Вы можете добавить один и присвоить его той же переменной.

i = i + 1

или более питоническим способом:

i += 1

Вы можете сделать if в одной строке, например так:

if letter != current_letter: i += 1

, но есть более простой код, если вы ставите разрыв строки после : (с соответствующим отступом):

if letter != current_letter: 
   i += 1

Также: будьте осторожны, что вас вернули I (заглавными буквами), а не i.

0 голосов
/ 17 сентября 2018

Вам нужно сделать отступ для тела if. Кроме того, вы должны изменить I на i и i++ на i += 1, потому что в Python нет оператора ++:

def find_letter_in_alphabet(letter):
    i = 0
    for current_letter in range(len(alphabet)):
        if letter != current_letter:
            i += 1
    return i

В Python пробел имеет значение для синтаксиса, в отличие от C #. Вы должны добавить новую строку и сделать отступ для каждого блока в Python (если блок содержит более одного оператора).

...