【TypeError: 'float' object cannot be interpreted as an integer】
TypeError: 'float' object cannot be interpreted as an integer
- 命令行报错
- 源代码
- 原因
- 解决
命令行报错 在使用案例中的代码时,报错
TypeError: 'float' object cannot be interpreted as an integer
源代码
#!/usr/bin/python
# -*- coding:utf-8 -*-import operatordef c(n, k):
return reduce(operator.mul, range(n-k+1, n+1)) / reduce(operator.mul, range(1, k+1))def bagging(n, p):
s = 0
for i in range(n / 2 + 1, n + 1):
s += c(n, i) * p ** i * (1 - p) ** (n - i)
return sif __name__ == "__main__":
for t in range(10, 101, 10):
print (t, '次采样正确率:', bagging(t, 0.6))
原因 案例中是用的python2,/ 是取整,是int型
而python3,/ 是保留小数的,是float型
解决 // 即可
推荐阅读
- keras报错Error when checking target: expected dense_1 to have shape (5,) but got array with shape (1,)
- 报错|TCP connection timed out: 10060: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
- Python|urllib.error.URLError(urlopen error [WinError 10060])
- imsave函数不能用解决方法
- ImportError: cannot import name 'imsave' from 'scipy.misc' (C:\Users\DELL\AppData\Roaming\Python\Pyt
- 成功解决DLL load failed: 页面文件太小,无法完成操作
- 成功解决RuntimeError: Variable += value not supported. Use variable.assign_add(value) to modify the vari
- Git clone项目失败,提示git did not exit cleanly(exit code 1)的解决办法
- 报错|SMPlayer在ubuntu16.04下没有声音的解决办法| mysql无法修改