2016-01-09 2 views
1
File "stats0.py", line 40 
    def median(numbers): 
    ^
    SyntaxError: invalid syntax 
def median(numbers): 
    numbers.sort() 
    size = len(numbers) 
    midPos = size/2 
    if size%2==0: 
     median = (numbers[midPos]+numbers[midPos-1])/2.0 
    else: 
     median = numbers[midPos] 
    return median 

я получаю эту ошибку. Я попытался прокомментировать это, но каждый «def» имеет ошибку. Я смотрел на все предыдущие вопросы по этой проблеме. Насколько я понимаю, мой отступ правилен. Пожалуйста, помогите, это первый случай, когда я получил такую ​​ошибку. (следовал за кодом книги)(питон) функция четкости недопустимый синтаксис

+5

Что перед разделом вы включили? Ошибка есть. – Kevin

+1

Коэффициенты благоприятствуют закрытому набору разделителей; обычно parens, но скобки и скобки (все, что позволило бы утверждению продолжить следующую строку) тоже работать. – ShadowRanger

+2

Замечание: вы получаете эту функцию [бесплатно] (https://docs.python.org/3/library/statistics.html#statistics.median) с Python 3.4+. Кроме того, ваша функция не работает в пустом списке, хотя дискуссионно, имеет ли пустой список медиана вообще. – Kevin

ответ

3

Ошибка перед определением функции. Существуют ли какие-либо коды, определенные перед вашей функцией. Я могу получить результат для вышеуказанной программы. Исполняемый код приведен ниже для справки.

def median(numbers): 
    numbers.sort() 
    size = len(numbers) 
    midPos = size/2 
    if size%2==0: 
     median = (numbers[midPos]+numbers[midPos-1])/2.0 
    else: 
     median = numbers[midPos] 
    return median 


if __name__ == "__main__": 

    numbers = [1,2,3,4,5,6,7,8,9,10] 
    print median(numbers) 

Output Console: 

5.5 

Process finished with exit code 0 
+0

все еще имеют проблемы, имеют код одинаковый, все функции в том же формате и выше основной функции. ошибка по-прежнему указывает на def, указывающий недействительный. каждый раз, когда изменение производится его сохранение и выполнение в терминале. –

+0

Можете ли вы поделиться своим кодом - функциями выше медианы. Или то, что вы пытаетесь выполнить –

Смежные вопросы