Python中的整除和取模实例


Posted in Python onJune 03, 2020

一 除法

1 正数除法

Python3中的除法中,除法/总是返回一个浮点数,如下:

>>> 6/4
1.5
>>> 2/3
0.6666666666666666

如果只想得到整数的结果,丢弃分数部分,可以使用运算符 //:

>>> 6//4
1
>>> 2//3
0

// 得到的是整除的结果,但是结果并不一定是整数类型的数,它与分母分子的数据类型有关系:

>>> 6//4.0
1.0
>>> 2.0//3
0.0

2 负数除法

Python3除法采取的是向下取整,即向负无穷方向取最接近精确值的整数。故当整除运算有负数时,结果稍有不同:

>>> 4//-3
-2
>>> -10//3
-4

我们通常的计算中,采用的是向零取整的方法计算,4//-3 = -1,-10//3 = -3。如果希望在Python3中对负数采用向零取整的方法计算,可以如下处理:

>>> int(4/-3)
-1
>>> int(-10/3)
-3

二 取模

Python3 中采用%表示取模运算,结果返回除法的余数:

>>> 21%10
1
>>> 3%4
3

但是由于Python采用的是向下取整的方式,所以对负数的取余结果不一样:

>>> -21%10
9
>>> -5%4
3

结合前面负数的整除计算,可以理解取模的结果。-21//10 = -3, -21-(-3)*10 = 9

补充知识:Python中列表索引为的负数时,意义与R不同

之前学的是R, 后来看Python访问索引为负数索引时,感觉不对,后来了解到,原来二者意义是完全不同的。

比如有一个列表,list1 = [a, b ,c ,d ,e]

- 对R来说,负数索引表示在原有的列表中去除该索引对应的元素,如list[-1]就是在原有的列表中去除第1个元素,所以结果是 list1[-1] = [b, c, d, e](R中列表元素序号从1开始)

> list1 <- c("a", "b", "c", "d", "e")
> list1[-1]
[1] "b" "c" "d" "e"

- 对Python来说,负数索引表示从右边往左数,最右边的元素的索引为-1,倒数第二个元素为-2.,。。。list[-1] = e

In [1] list = ["a", "b", "c", "d", "e"]
     print(list[-1])
     e

以上这篇Python中的整除和取模实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
好的Python培训机构应该具备哪些条件
May 23 Python
Django添加sitemap的方法示例
Aug 06 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
python多任务之协程的使用详解
Aug 26 Python
基于python实现把图片转换成素描
Nov 13 Python
Python操作Sqlite正确实现方法解析
Feb 05 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
如何完美的建立一个python项目
Oct 09 Python
python 负数取模运算实例
Jun 03 #Python
Python小白学习爬虫常用请求报头
Jun 03 #Python
Python新手学习函数默认参数设置
Jun 03 #Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 #Python
Python新手学习raise用法
Jun 03 #Python
Django实现任意文件上传(最简单的方法)
Jun 03 #Python
Python flask框架如何显示图像到web页面
Jun 03 #Python
You might like
codeigniter中测试通过的分页类示例
2014/04/17 PHP
php面向对象值单例模式
2016/05/03 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
php源码的使用方法讲解
2019/09/26 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
python处理二进制数据的方法
2015/06/03 Python
python实现公司年会抽奖程序
2019/01/22 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
教育科研先进个人材料
2014/01/26 职场文书
市场安全管理制度
2014/01/26 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
市场营销专业求职信
2014/06/17 职场文书
走群众路线学习笔记
2014/11/06 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
会计简历自我评价
2015/03/10 职场文书
2016新年感言
2015/08/03 职场文书
React如何创建组件
2021/06/27 Javascript
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
分享3个非常实用的 Python 模块
2022/03/03 Python
分享Python获取本机IP地址的几种方法
2022/03/17 Python