成功解决TypeError: ‘float‘ object cannot be interpreted as an integer
问题描述:
在使用Python的for w in range(0.0, 4.1, 0.1):
时遇到报错:
TypeError: 'float' object cannot be interpreted as an integer
为什么会出现这种错误呢?因为Python的函数range(start, stop[, step])中start,stop,step都是整数,当使用了小数就会报错。
range参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
解决方法:
究其原因,无非是你range里使用了小数,所以解决方法很简单,无非就是两种:
要么就把range里的参数变为整数,要不就换一种支持小数的写法。
一、如果你是下面这种情况:
for i in range(10/3):print(i)
那么解决方法很简单,直接把/
换成//
因为Python2中的/
只保留整数部分,是int型。而在Python3里,/
的结果是真正意义上的除法得到的是一个小数,结果是float型,所以用//
得到一个整数问题就得以解决。
二、如果你不想做任何改变仍要使用range的功能,那么可以使用numpy中提供的arange。
for i in range(0.0, 4.1, 0.8):print(i)#会报错:
Traceback (most recent call last):File ".code.tio", line 2, in for i in range(0.0, 4.1, 0.8):
TypeError: 'float' object cannot be interpreted as an integer
解决方法:
import numpy
for i in numpy.arange(0.0, 4.1, 0.8):print(i)#输出结果:
0.0
0.8
1.6
2.4000000000000004
3.2
4.0
题外话:
为什么会出现2.4000000000000004呢?
计算机中所有的数据最终都是以二进制的形式存储的,小数在转换为二进制表示的时候会出现位数无限循环的情况,所以只能存储有限位数,超过这个长度的位数会被舍去(会采用 0舍1入 的方式),这样就造成了精度丢失的问题。
成功解决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 目录 解决问题 解决思路 解决方法 解决问题 TypeError: ...
- 成功解决TypeError: ‘float’ object cannot be interpreted as an index
成功解决TypeError: 'float' object cannot be interpreted as an index 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'f ...
- 已解决实现心型图案时报错TypeError: ‘float‘ object cannot be interpreted as an integer
已成功解决实现心型图案时使用range在生成数列时,报错TypeError: 'float' object cannot be interpreted as an integer 问题描述 我在使用p ...
- 生成浮点数列表:Python range():TypeError: ‘float‘ object cannot be interpreted as an integer
生成浮点数列表:Python range():TypeError: 'float' object cannot be interpreted as an integer 目录 Python range ...
- 【python】解决TypeError: ‘str‘ object cannot be interpreted as an integer
当用python的input输入一个数字时 其格式默认为string格式 所以要用int()转换为int格式 比如 import math def opgg(): # x = input(&q ...
- python range函数报错:TypeError: ‘float‘ object cannot be interpreted as an integer
原因是range只能生成整数,不能生成float类型,使用 numpy的 arange函数来解决: import numpy as npfor i in np.arange(0.1,0.5,0.05) ...
- 成功解决TypeError: ‘tuple‘ object is not callable
成功解决TypeError: 'tuple' object is not callable 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'tuple' object is no ...
- 成功解决TypeError: ‘str‘ object is not callable
成功解决TypeError: 'str' object is not callable 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'st
- 成功解决TypeError int object is not iterable
成功解决TypeError: 'int' object is not iterable 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'int' object is not it ...
最新文章
- patch成为了ALL You Need?挑战ViT、MLP-Mixer的简单模型来了
- Android读取短信和联系人
- 【NLP】一文了解基于深度学习的自然语言处理研究
- 对抗训练浅谈:意义、方法和思考(附Keras实现)
- BitNami一键安装Redmine
- 学习flex布局(弹性布局)
- 国科大prml--SVM
- 没毛病!00后和90后成为暑期出游两大主力群体
- thinkphp 模板显示display和assign的用法
- .net知识和学习方法系列(三)CSharp中控件台的输入输出
- python使用-python使用
- [转载] python内置函数 compile()
- 引入react文件报错_React Native常见问题(一)
- 通用测绘成果质检软件
- MongoDB最简单的入门教程之二 使用nodejs访问MongoDB 1
- Androd TV开发-前言
- Ubuntu笔记本使用peek 来录制 gif 动画
- 延边大学计算机考研压分吗,这6所大学被严重低估,2020届高三考生注意收藏!适合“捡漏”...
- 性能测试工具的 Coordinated Omission 问题
- 最全的IMSI获取手机号段、归属地java代码
热门文章
- dw软件打开php,php新手求助,为什么在DW中设计里能看到运行php程序的结果,但…...
- xml文件拆分 python_用Python提取合并由集搜客爬取的多个xml文件中的数据 | 向死而生...
- App设计灵感之十二组精美的睡眠监测类App设计案例
- ZEGO教程:如何快速搭建一个完整的Android直播平台
- Linux驱动BSP (pinctrlgpio子系统)
- 50PIN I/O线缆接线头线芯序号对应表-针脚号 对绞线颜色
- 为什么谷歌浏览器打印不了输出结果,求助,谢谢
- python 火车票查询_Python,写火车票查看器,你还在担心没票吗?
- ubuntu桌面图标管理(以pycharm图标为例)
- 企业站推广:100种实用的推广方法(十)