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 相关文章推荐
用Python制作检测Linux运行信息的工具的教程
Apr 01 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
Python并发编程协程(Coroutine)之Gevent详解
Dec 27 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
Python基础之文件读取的讲解
Feb 16 Python
Python常用的json标准库
Feb 19 Python
Python 硬币兑换问题
Jul 29 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 Python
python 如何执行控制台命令与操作剪切板
May 20 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
隐藏你的.php文件的实现方法
2007/03/19 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
深入理解node.js之path模块
2017/05/03 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
查看python下OpenCV版本的方法
2018/08/03 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
英文简历中的自我评价用语
2013/12/09 职场文书
求职信范文英文版
2014/01/05 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
学习保证书怎么写
2015/02/26 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
党支部评议意见
2015/06/02 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python