2009-10-15 3 views
1

Мой код:ошибка синтаксиса на `If` линии

#!/usr/bin/env python 

def Runaaall(aaa): 
    Objects9(1.0, 2.0) 

def Objects9(aaa1, aaa2): 
    If aaa2 != 0: print aaa1/aaa2 

Ошибка я получаю:

$ python test2.py 
    File "test2.py", line 7 
    If aaa2 != 0: print aaa1/aaa2 
     ^
SyntaxError: invalid syntax 

Я в убыток, почему происходит эта ошибка.

+2

В каком учебнике python вы изучаете язык? –

+1

@ S.Lott: :) Думаю, он не последовал вашим советам здесь http://stackoverflow.com/questions/1573548/python-def-function-how-do-you-specify-the-end-of- the-function – SilentGhost

+0

@SilentGhost: Хорошая точка. Я редко проверяю, кто задает вопрос. Кажется, это два вопроса с таким же плохим поведением: наберите случайный материал и надейтесь, что он сработает. –

ответ

16

if должно быть указано в нижнем регистре.

Кроме того,

  • имена Запись функции в нижнем регистре (см PEP 8, руководство по стилю Python).
  • Напишите тело if -clause на отдельной строке.
  • Хотя в этом случае вы, вероятно, не столкнетесь с проблемами, будьте осторожны с comparing floats for equality.
  • Поскольку вы только что начали изучать Python, вы можете познакомиться с написанием круглых скобок вокруг аргументов до print, так как начиная с Python 3, print is a function, а не с ключевым словом.
    Для применения этого синтаксиса в Python 2.6, вы можете поместить это в верхней части файла:

    from __future__ import print_function 
    

    Демонстрация:

    >>> print 'test' 
    test 
    >>> from __future__ import print_function 
    >>> print 'test' 
        File "<stdin>", line 1 
        print 'test' 
          ^
    SyntaxError: invalid syntax 
    >>> print('test') 
    test 
    

    Более подробную информацию о __future__ импорта, увидеть documentation.

+2

Последняя точка может быть достигнута с помощью __future__ import print_function на python 2.6 –

+0

Хорошая точка, Бартош. Я обновил ответ с дополнительной информацией. – Stephan202

3

Как насчет

def Objects9(aaa1, aaa2): 
    if aaa2 != 0: print aaa1/aaa2 

Python ключевые слова чувствительны к регистру, поэтому вы должны написать «если» вместо «Если», «для» вместо «за», и так далее.

4

Это столица «Я» на «Если». Измените его на «if», и он будет работать.

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