3

我完全是一个新手,我不知道我的代码有什么问题。我尝试对其进行多次调整,但没有奏效,并且expected an intended block在我运行代码时一直发出警报。

def abc(words_list):

number1 = 0
number2 = 0

for L in words_list:
    if L[0] in 'aeiou':
        number1 = number1 + 1

    else:
        number2 = number2 + 1
        first_char = L[0]

        for i in range(1,len[L]):
            L[i-1] = L[i]
        L[-1] = first_char
    L = L + 'ay'

return(number1, number2) 
4

1 回答 1

7

在函数 ( def) 开始后,您需要缩进一次代码。如:

def abc(words_list):


    number1 = 0
    number2 = 0

    for L in words_list:
        if L[0] in 'aeiou':
            number1 = number1 + 1

        else:
            number2 = number2 + 1
            first_char = L[0]

            for i in range(1,len[L]):
                L[i-1] = L[i]
            L[-1] = first_char
        L = L + 'ay'

    return(number1, number2) 

此外,任何空行都需要有正确的缩进。例如,当从堆栈溢出复制粘贴时,您可能会丢失空格的缩进,但 python 认为它们也很重要。例如,后面的两个空行def需要与开头的行在相同的缩进number1

notepad++ 等程序可以让您查看空行的缩进情况,任何好的 python IDE 也应该可以工作。

于 2013-03-14T05:04:08.083 回答