2015-09-09 3 views
0

После прочтения нескольких ошибок типа 'int not callable' в stackoverflow, я вижу, что большинство ошибок типа включают обработку int как функции. Я получаю эту ошибку на следующей программе, и я не уверен, что происходит:по модулю вычисления в python - int not callable?

найти силу п, удовлетворяет уравнению

for n in range(100): 
    if ((2^n // 3) % 2) == 1: 
     print n 

отслеживающий ошибки читает:

File "<stdin>", line 1, in <module> 
TypeError: 'int' object is not callable 
+0

Пожалуйста, покажите нам свой текст ошибки. – robert

+1

Я не знаю, что вызывает вашу ошибку, но оператор мощности - '**', а не '^'. – Random832

+0

'2^n' не 2 по мощности n. '2 ** n' есть. –

ответ

1

У вас есть переменная с именем range, которой вы присваивая целое число. Так что, когда вы делаете

for n in range(100): 

он пытается вызвать целое как функцию, а с помощью встроенного в range функции.

Лучшим решением является не повторное использование встроенных функций в качестве имен переменных. Но если вы действительно этого хотите, вы можете получить доступ к исходной функции с помощью модуля __builtin__.

import __builtin__ 
for n in __builtin__.range(100): 
0

^ является питон побитовое исключающее ИЛИ
** является оператором, который вы ищете

for n in range(100): 
    if ((2**n // 3) % 2) == 1: 
     print n 

, как для Erorr, что вы получаете,

int not callable

Это не воспроизводимым, это, вероятно, не эти строки, это вызвано

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

  • Нет связанных вопросов^_^