if块中的语句后出现意外的标记“ <newline>”

时间:2018-09-17 20:33:16

标签: python newline code-formatting

我是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 :(得分:3)

您需要缩进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

与C#不同,在Python中,空格对语法很重要。您必须添加换行符并在Python中的每个块缩进(如果该块是多个语句)。

答案 1 :(得分:2)

问题是++。在Python中,没有i = i + 1 。 您可以添加一个并将其分配给相同的变量。

i += 1

或以更Python化的方式:

if letter != current_letter: i += 1

您可以像这样在单行中执行if:

:

但是如果您在if letter != current_letter: i += 1 之后加上换行符(带有相应的缩进),则有一个更简单的代码:

I

也:请注意,返回的i(用大写字母表示)而不是{{1}}。