2012-03-02 2 views
-1

По-видимому, следующая строка недопустима синтаксисом Python.Ошибка синтаксиса выражения python boolean

while (!is_int(1)): 

Как исправить это?

Примечание: я не знаю Python.

+3

Предполагая, что 'is_int()' проверяет, является ли ее аргумент является целым числом, это приведет к 'while False' - или просто полностью удалить весь блок кода. –

+2

Ожидаете ли вы, что '1' когда-либо изменит его' int'edness? – hochl

+1

Есть один правильный ответ на этот вопрос, и это «узнать Python». – siride

ответ

3

Логическое НЕ пишется not в Python: (. Предполагая, что вы реализовали функцию is_int)

while not is_int(1): 

-1

Почему определить свою собственную функцию is_int, если у вас есть встроенная функция isinstance?

while not isinstance(1, int): 
-1

Правильный синтаксис:

while not is_int(1): 
    .... 

Где is_int могут быть реализованы в виде:

def is_int(arg): 
    return isinstance(arg, int) 
+0

Следующее http://www.python.org/dev/peps/pep-0008 тип сравнения должен быть реализован с использованием 'isinstance (obj, int)'. – hochl

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