snowday 发表于 2020-11-19 21:22:43

为什么在python中两个整型相除结果变成浮点型了?

如图

不败君王 发表于 2020-11-19 21:25:02

因为/操作符返回的是浮点型,属于假的除法,真的除法用//操作符,它与现实中的除法一样

不败君王 发表于 2020-11-19 21:26:12


因为/操作符返回的是浮点型,属于假的除法,真的除法用//操作符,它与现实中的除法一样

昨非 发表于 2020-11-19 21:27:53

https://blog.csdn.net/weixin_40485502/article/details/82832450?biz_id=102&utm_term=%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8python%E4%B8%AD%E4%B8%A4%E4%B8%AA%E6%95%B4%E5%9E%8B%E7%9B%B8%E9%99%A4%E7%BB%93%E6%9E%9C%E5%8F%98%E6%88%90%E6%B5%AE%E7%82%B9%E5%9E%8B%E4%BA%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-82832450&spm=1018.2118.3001.4449

你看一下这篇文章

昨非 发表于 2020-11-19 21:29:18

你看一下这篇文章
https://blog.csdn.net/weixin_40485502/article/details/82832450?biz_id=102&utm_term=%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8python%E4%B8%AD%E4%B8%A4%E4%B8%AA%E6%95%B4%E5%9E%8B%E7%9B%B8%E9%99%A4%E7%BB%93%E6%9E%9C%E5%8F%98%E6%88%90%E6%B5%AE%E7%82%B9%E5%9E%8B%E4%BA%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-82832450&spm=1018.2118.3001.4449

昨非 发表于 2020-11-19 21:35:11

语法规定,原来python2的时候好像‘/’还分为传统除法(返回整型)和精确除法(返回浮点型)
后来python3将‘/’统一为返回浮点了

jackz007 发表于 2020-11-19 21:38:54

      整型数相除,结果是浮点型,如果想得到整型结果,必须要用地板除,试试 3 // 3,2 // 1 看看结果。

Twilight6 发表于 2020-11-19 21:41:32



Python 中除法返回的永远是浮点型,记住即可~

逃兵 发表于 2020-11-19 21:44:06

/是除法运算符,返回的是浮点型
例如
>>> 10/2
5.0
>>> 10/4
2.5
//是地板除,返回商的整数部分(向下取整)
例如
>>> 10//4
2
>>> -10//4
-3

永恒的蓝色梦想 发表于 2020-11-20 13:10:06

不败君王 发表于 2020-11-19 21:25
因为/操作符返回的是浮点型,属于假的除法,真的除法用//操作符,它与现实中的除法一样

……为什么浮点数是假的除法,现实中的除法就是要出小数啊

陈尚涵 发表于 2020-11-21 17:23:12

本帖最后由 陈尚涵 于 2020-11-21 17:24 编辑

Twilight6 发表于 2020-11-19 21:41
Python 中除法返回的永远是浮点型,记住即可~

不对,要是1//1还是整形。因为有时余数是浮点,所以商也肯定是浮点了(地板除)

bhcqzf 发表于 2020-12-9 11:31:39

python默认是这样的,可以用//来除
页: [1]
查看完整版本: 为什么在python中两个整型相除结果变成浮点型了?