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 正则表达式操作指南
May 04 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
Mar 19 Python
Python基础练习之用户登录实现代码分享
Nov 08 Python
详解python3中的真值测试
Aug 13 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
C++和python实现阿姆斯特朗数字查找实例代码
Dec 07 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
python开发飞机大战游戏
Jul 15 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中的MVC模式运用技巧
2007/05/03 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
python通过线程实现定时器timer的方法
2015/03/16 Python
安装dbus-python的简要教程
2015/05/05 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
Python检测网络延迟的代码
2018/05/15 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Python如何执行系统命令
2020/09/23 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
社区文化建设方案
2014/05/02 职场文书
家具商场的活动方案
2014/08/16 职场文书
财务部会计岗位职责
2015/02/03 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
Golang: 内建容器的用法
2021/05/05 Golang