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生成器表达式和列表解析
Mar 10 Python
基于Python List的赋值方法
Jun 23 Python
使用Python实现在Windows下安装Django
Oct 17 Python
python无限生成不重复(字母,数字,字符)组合的方法
Dec 04 Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
python Tkinter的简单入门教程
Apr 11 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 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投票系统防刷票判断流程分析
2012/02/04 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
php银联网页支付实现方法
2015/03/04 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
php Session无效分析资料整理
2016/11/29 PHP
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
Seajs的学习笔记
2014/03/04 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
Vue.use源码分析
2017/04/22 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
python黑魔法之参数传递
2016/02/12 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python编写Logistic逻辑回归
2020/12/30 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
python实现局域网内实时通信代码
2019/12/22 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
成品仓管员岗位职责
2015/04/01 职场文书
文明上网主题班会
2015/08/14 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
党员公开承诺书2016
2016/03/24 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
Linux中文件的基本属性介绍
2022/06/01 Servers