Python中的取模运算方法


Posted in Python onNovember 10, 2018

所谓取模运算,就是计算两个数相除之后的余数,符号是%。如a % b就是计算a除以b的余数。用数学语言来描述,就是如果存在整数n和m,其中0 <= m < b,使得a = n * b + m,那么a % b = a - n * b = m.

取模运算的两个操作数都必须是整数,可以是负整数,但是b不可以是0,因为被除数不能为0嘛。

当a和b中存在负整数时,首先计算|a|%|b|=c,然后a%b的符号与b一致。也就是说,如果b>0,则a%b=c;如果b<0,则a%b=-c

比如:

Python中的取模运算方法

好了,上面是以前我对取模运算的认识,我记得<<C++ Primer>>上也是这么写的。但是,在Python中,我随便输入了一个浮点数进行取模运算,竟然也是可以的,惊呆了==

Python中的取模运算方法

不过呢,仔细观察就会发现,不知道它是怎么计算的啊!怎么办呢,我们首先来看看,浮点数的取模在数学上要怎么定义呢?

浮点数取模的数学定义:对于两个浮点数a和b,a % b = a - n * b,其中n为不超过a / b的最大整数。

例如,

3.5 / 2 = 1.75,取n = 1,则3.5 % 2 = 3.5 - 1 * 2 = 1.5

-3.5 / 2 = -1.75,取n = -2,则-3.5 % 2 = -3.5 - (-2) * 2 = 0.5

3.5 / -2.5 = -1.4,取n = -2,则3.5 % -2.5 = 3.5 - (-2) * (-2.5) = -1.5

另外,C++中有一个函数fmod可以用来计算浮点数的取模。

总结:

取模运算的两个操作数a和b可以是整数,也可以是浮点数;可以是正数,零(b不能为0),也可以是负数。不管是整数还是浮点数,是正数还是负数还是零,只需要抓住取模的数学定义即可。统一的数学定义如下:

对于两个数a和b(b不为0),a % b = a - n * b,其中n为不超过a / b的最大整数(这里的除就是正常的除,不是整除)。

需要注意的是,整数的取模运算的定义和浮点数的是一样的,所以计算方法也是一样的。最前面提供的整数取模的方法,其实本质上跟浮点数取模的方法是一致的,只不过这种方法可能在含有负整数的整数取模中比较方便而已。

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

Python 相关文章推荐
用Python编程实现语音控制电脑
Apr 01 Python
python实现监控windows服务并自动启动服务示例
Apr 17 Python
python实现颜色空间转换程序(Tkinter)
Dec 31 Python
python基于ID3思想的决策树
Jan 03 Python
使用python实现链表操作
Jan 26 Python
python爬取哈尔滨天气信息
Jul 14 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
Jupyter Notebook打开任意文件夹操作
Apr 14 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
在Python中获取两数相除的商和余数方法
Nov 10 #Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 #Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 #Python
pandas 数据归一化以及行删除例程的方法
Nov 10 #Python
python 重命名轴索引的方法
Nov 10 #Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 #Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 #Python
You might like
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
php去除重复字的实现代码
2011/09/16 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
表单验证的完整应用案例探讨
2013/03/29 Javascript
Javascript实现页面跳转的几种方式分享
2013/10/26 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
python3中的md5加密实例
2018/05/29 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
《九寨沟》教学反思
2014/04/08 职场文书
2014年残联工作总结
2014/11/21 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
运动员入场词
2015/07/18 职场文书
诚信考试主题班会
2015/08/17 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
python图片灰度化处理的几种方法
2021/06/23 Python
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers