python 中的模计算 - int 不可调用?
modulo computation in python - int not callable?
在 Whosebug 上阅读了一些类型为 'int not callable' 的错误后,我发现大多数类型的错误都涉及将 int 视为函数。我在以下程序中遇到此错误,我不确定发生了什么:
求满足方程的n次方
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
^是python是按位异或
** 是您要查找的运算符
for n in range(100):
if ((2**n // 3) % 2) == 1:
print n
至于你得到的错误,
int not callable
无法重现,可能不是这些行造成的
您有一个名为 range
的变量,您要为其分配一个整数。所以当你这样做时
for n in range(100):
它试图将整数作为函数调用,而不是使用内置的 range
函数。
最好的解决办法是不要重用内置函数作为变量名。但如果你真的想要,你仍然可以使用 __builtin__
模块访问原始功能。
import __builtin__
for n in __builtin__.range(100):
在 Whosebug 上阅读了一些类型为 'int not callable' 的错误后,我发现大多数类型的错误都涉及将 int 视为函数。我在以下程序中遇到此错误,我不确定发生了什么:
求满足方程的n次方
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
^是python是按位异或
** 是您要查找的运算符
for n in range(100):
if ((2**n // 3) % 2) == 1:
print n
至于你得到的错误,
int not callable
无法重现,可能不是这些行造成的
您有一个名为 range
的变量,您要为其分配一个整数。所以当你这样做时
for n in range(100):
它试图将整数作为函数调用,而不是使用内置的 range
函数。
最好的解决办法是不要重用内置函数作为变量名。但如果你真的想要,你仍然可以使用 __builtin__
模块访问原始功能。
import __builtin__
for n in __builtin__.range(100):