python运算符号输入_【Python】【运算符】
【取模】
所谓取模运算,就是计算两个数相除之后的余数,符号是%。如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
比如:
5 % 2 = 1
-5 % 2 = 1
5 % -2 = -1
-5 % -2 = -1
好了,上面是以前我对取模运算的认识,我记得<>上也是这么写的。但是,在Python中,我随便输入了一个浮点数进行取模运算,竟然也是可以的,惊呆了==
3.5 % 2 = 1.5
3 % 2.5 = 0.5
3.5 % 2.5 = 1.0
-3.5 % 2 = 0.5
-3 % 2.5 = 2.0
-3.5 % 2.5 = 1.5
3.5 % -2.5 = -2.0
3.5 % -2.5 = -1.5
不过呢,仔细观察就会发现,不知道它是怎么计算的啊!怎么办呢,我们首先来看看,浮点数的取模在数学上要怎么定义呢?
浮点数取模的数学定义:对于两个浮点数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符号运算_入门第五课 Python运算符号
准确地讲,应该叫"运算符",运算符号是我为了方便大家理解起的名字. 在数学中,我们有很多熟悉常用的运算符号:加号+.减号-.乘号(Python中的乘号是*).除号(Python的除 ...
- python模拟键盘输入_这件神器,每个 Python入门学习者都值得一试
灰常实用的一篇文章,看完你会来点赞滴. 不论你是刚开始学 Python,还是正在啃数据分析的骨头,对你来说,不断在各种命令行窗口和编辑器里切来切去,或者不断打开各种窗口查看 matplotlib 的输 ...
- python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换
[Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...
- python朋友圈刷屏_“Python太火了!请救救Java!”9万程序员刷屏朋友圈 !
没想到有生之年,笔者能观察到"霸主陨落"的过程,继PLPY4月榜单官宣,Python躺赢,再度"夺"冠,实力甩下Java和C后,近期,Stack Overflo ...
- python shell如何打开_“python shell怎么打开“python shell启动教程
python shell怎么打开 1.简介:如何在python中运行shell(bash命令) 2.工具/原料:python库:os.py 3.方法:import os command = 'date ...
- python多进程编程实例_[python] Python多进程编程技术实例分析
这篇文章主要介绍了Python多进程编程技术,包括了线程.队列.同步等概念及相关的技巧总结,需要的朋友可以参考下 本文以实例形式分析了Python多进程编程技术,有助于进一步Python程序设计技巧. ...
- python查看excel编码格式_[Python]实现处理读写xlsx xls excel文件格式(含中文处理方法)...
最近有个需求要处理excel 格式的数据,数据量比较大.用传统的语言似乎不太好处理,于是改用python实现,这里记录一下实现过程. 首先,科普一下xlsx xls的excel文件区别是什么. xls ...
- python快速爬虫视频_“python怎么快速爬虫视频“python 爬网页视频教程
用python怎样爬网页 # coding:utf8 import cookielib import urllib2 url = "http://blog.uouo123.com" ...
- python 打包 小文件_[Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件
1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他 ...
最新文章
- printf打印是字体和背景带颜色的输出的方法
- R安德森-达令检验( Anderson-Darling Test)
- js复制input 框中的值
- BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )
- 用matlab相关分析,基于matlab的逐像元偏相关分析
- 泛型方法的定义和使用_泛型( Generic )
- P5325-[模板]Min_25筛
- 2016蓝桥杯省赛---java---A---6(寒假作业)
- php能打开.shp文件吗,shp文件是什么格式的
- boost 变量类型转换
- 安装python3.7.0的步骤_python 3.7.0 安装配置方法图文教程
- 安装open3d python
- 前端开发 表格元素 单元格的合并 0229
- ajax传递复选框的参数,ajax将table复选框的数组值传递到后台
- 明年起网剧可参评白玉兰奖 你期待哪部网剧上榜?
- 达摩院 2020 预测:感知智能的“天花板”和认知智能的“野望”
- sap关于既是供应商又是客户的处理-转
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
- FTP 简介与 Windows 系统搭建 FTP 服务器
- 信息搜集 - 二层发现 arping
热门文章
- .NET框架之“小马过河”
- [开源] FreeSql AOP 功能模块 - FreeSql
- Asp.Net Core Docker镜像更新系统从wheezy改为stretch
- Asp.Net Core 轻松学-正确使用分布式缓存
- [译]聊聊C#中的泛型的使用
- .NET Core开发日志——Linux版本的SQL Server
- Orleans解决并发之痛(四):Streams
- .NET 框架兼容性简介
- Scrapy从理论到爬图
- 电机与系统计算机仿真作业,北邮计算机仿真期末大作业.docx