问题描述:

在使用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相关推荐

  1. 成功解决TypeError: 'float' object cannot be interpreted as an integer

    成功解决TypeError: 'float' object cannot be interpreted as an integer 目录 解决问题 解决思路 解决方法 解决问题 TypeError: ...

  2. 成功解决TypeError: ‘float’ object cannot be interpreted as an index

    成功解决TypeError: 'float' object cannot be interpreted as an index 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'f ...

  3. 已解决实现心型图案时报错TypeError: ‘float‘ object cannot be interpreted as an integer

    已成功解决实现心型图案时使用range在生成数列时,报错TypeError: 'float' object cannot be interpreted as an integer 问题描述 我在使用p ...

  4. 生成浮点数列表:Python range():TypeError: ‘float‘ object cannot be interpreted as an integer

    生成浮点数列表:Python range():TypeError: 'float' object cannot be interpreted as an integer 目录 Python range ...

  5. 【python】解决TypeError: ‘str‘ object cannot be interpreted as an integer

    当用python的input输入一个数字时 其格式默认为string格式 所以要用int()转换为int格式 比如 import math def opgg():     # x = input(&q ...

  6. 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) ...

  7. 成功解决TypeError: ‘tuple‘ object is not callable

    成功解决TypeError: 'tuple' object is not callable 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'tuple' object is no ...

  8. 成功解决TypeError: ‘str‘ object is not callable

    成功解决TypeError: 'str' object is not callable 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'st

  9. 成功解决TypeError int object is not iterable

    成功解决TypeError: 'int' object is not iterable 目录 解决问题 解决思路 解决方法 解决问题 TypeError: 'int' object is not it ...

最新文章

  1. patch成为了ALL You Need?挑战ViT、MLP-Mixer的简单模型来了
  2. Android读取短信和联系人
  3. 【NLP】一文了解基于深度学习的自然语言处理研究
  4. 对抗训练浅谈:意义、方法和思考(附Keras实现)
  5. BitNami一键安装Redmine
  6. 学习flex布局(弹性布局)
  7. 国科大prml--SVM
  8. 没毛病!00后和90后成为暑期出游两大主力群体
  9. thinkphp 模板显示display和assign的用法
  10. .net知识和学习方法系列(三)CSharp中控件台的输入输出
  11. python使用-python使用
  12. [转载] python内置函数 compile()
  13. 引入react文件报错_React Native常见问题(一)
  14. 通用测绘成果质检软件
  15. MongoDB最简单的入门教程之二 使用nodejs访问MongoDB 1
  16. Androd TV开发-前言
  17. Ubuntu笔记本使用peek 来录制 gif 动画
  18. 延边大学计算机考研压分吗,这6所大学被严重低估,2020届高三考生注意收藏!适合“捡漏”...
  19. 性能测试工具的 Coordinated Omission 问题
  20. 最全的IMSI获取手机号段、归属地java代码

热门文章

  1. dw软件打开php,php新手求助,为什么在DW中设计里能看到运行php程序的结果,但…...
  2. xml文件拆分 python_用Python提取合并由集搜客爬取的多个xml文件中的数据 | 向死而生...
  3. App设计灵感之十二组精美的睡眠监测类App设计案例
  4. ZEGO教程:如何快速搭建一个完整的Android直播平台
  5. Linux驱动BSP (pinctrlgpio子系统)
  6. 50PIN I/O线缆接线头线芯序号对应表-针脚号 对绞线颜色
  7. 为什么谷歌浏览器打印不了输出结果,求助,谢谢
  8. python 火车票查询_Python,写火车票查看器,你还在担心没票吗?
  9. ubuntu桌面图标管理(以pycharm图标为例)
  10. 企业站推广:100种实用的推广方法(十)