Python中的取整、取余运算「建议收藏」

Python中的取整、取余运算「建议收藏」1.取整运算在Python中取整运算的运算符为//,且取整运算的取整为向下取整,不进行四舍五入例:9//4=2,即9对4取整等于2-9//-4=2,因为-9÷-4=2.25,取整为2那么问题来了,9//-4等于多少呢?9//-4=-3,因为9÷-4应该等于-2.25,那么对-2.25向下取整,应该为-3,而不是-2,所以9//-4=-3那么-9//4呢?-9÷4也应该等于-2.25,所以向下取整,得到-9//4=-3总结:9//4=2-9//-4=29//-4=-3-9//4=-3

大家好,又见面了,我是你们的朋友全栈君。

1.取整运算
在Python中取整运算的运算符为//,且取整运算的取整为向下取整,不进行四舍五入
例:9//4=2,即9对4取整等于2
-9//-4=2,因为-9÷-4=2.25,取整为2
那么问题来了,9//-4等于多少呢?
9//-4=-3,因为9÷-4应该等于-2.25,那么对-2.25向下取整,应该为-3,而不是-2,所以9//-4=-3
那么-9//4呢?
-9÷4也应该等于-2.25,所以向下取整,得到-9//4=-3
总结:
9//4=2
-9//-4=2
9//-4=-3
-9//4=-3


2.取余运算
在Python中取余运算的运算符为%,取余的结果为,被除数整除除数后余下的数
例:9%4=1,即9对4取余为1,因为9÷4=2···1,即9除以4等于2余1,所以9%4=1
那么问题又又又来了,-9%-4等于多少?9%-4等于多少?-9%4等于多少?
这是就要用到一个公式了,在Python中,余数的计算公式:a % b = a – a // b * b
即a对b取余的余数 等于 a减去 a先对b取整,再乘以b ,即为a对b取余的余数
那么-9%-4,就等于-9-(-9//-4*-4),等于-1,即-9%-4=-1
9%-4,就等于9-(9//-4*-4),等于-3,即9%-4=-3
-9%4,就等于-9-(-9//4*4),等于3,即-9%4=3
总结:
9%4=1
-9%-4=-1
9%-4=-3
-9%4=3

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144925.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字符串匹配算法综述论文_多字符串匹配

    字符串匹配算法综述论文_多字符串匹配字符串匹配算法综述字符串匹配算法综述:BF、RK、KMP、BM、Sunday字符串匹配算法,是在实际工程中经常遇到的问题,也是各大公司笔试面试的常考题目。此算法通常输入为原字符串(string)和子串(pattern),要求返回子串在原字符串中首次出现的位置。比如原字符串为“ABCDEFG”,子串为“DEF”,则算法返回3。常见的算法包括:BF(BruteForce,暴力检索)、RK(R…

    2022年8月21日
    5
  • Spring AOP 详解

    Spring AOP 详解

    2021年5月10日
    130
  • WIFI 常识

    WIFI 常识DSSS(DirectSequenceSpreadSpectrum)直接序列扩频FHSS,跳频技术(Frequency-HoppingSpreadSpectrum)FHSS和DSSS比较跳频扩频(FHSS):跳频扩频(FHSS)技术是通过“伪随机码”的调制,信息的载波受一伪随机序列的控制,使载波工作的中心频率不断跳跃改变,而噪音和干扰信号的中心频率却不会改变,这样,只要收、发信机之间按照固定的数字算法产生相同的“伪随机码”,就可以达到同步,排除了噪音和其它干扰信号。虽然在..

    2022年7月20日
    12
  • recvfrom的参数

    recvfrom的参数今天遇到一个奇怪的问题。linux环境下gcc,socket中UDP的recvfrom函数原型ssize_trecvfrom(intsockfd,void*buf,intlen,unsignedintflags,structsockaddr*from,socket_t*fromlen);网上给出的最基本的UDP—echo服务器测试基本的是可以的。…

    2022年7月23日
    10
  • gis如何无缝拼接两张图_opencv图像拼接

    gis如何无缝拼接两张图_opencv图像拼接intMyVideoStitcher::Prepare(vector<Mat>&src){ cv::setBreakOnError(true); intnum_images=static_cast<int>(src.size()); if(num_images<2) { printf(“Needmoreimages”); returnSTITCH_CONFIG_ERROR; } intcudaStatus=testG.

    2022年9月22日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号