zoukankan      html  css  js  c++  java
  • 【Python 2 到 3 系列】 关于除法的余数

    v2.2 以前,除(“/”)运算符的返回有两种可能情况,分别是整型和浮点型。操作数的不同,是影响计算结果数据类型的关键。
    以 a / b 为例,a、b均为整型,则结果返回整型;a、b任意一个是浮点型的话,则结果就是浮点型。
    ===========================
    # python v2.7
    >>> 3 / 2, 3.0 / 2, 3.0 / 2.0
    (1, 1.5, 1.5)
    ===========================


    在某些场合,我们可能会期待 a / b 返回浮点型,可是由于某些不确定的因素,参与运算的 a 和 b都是整型,这可能会带来错误,显然有精度上的损失。


    v2.2 以后,引入了“地板除”(“//”)运算符,从数值上讲,它返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。
    而“/”运算符,没有变化。
    ===========================
    # python v2.7
    >>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2
    (1, 1.5, 1, 1.0)
    ===========================


    v3.x 以后,“/”运算符被命名为“真除”,不再依据操作数类型选择返回值类型,保证计算结果数值上的精度是第一位的。所以,无须再把操作数转变成浮点型,以保证运算结果不被截断小数部分。
    “//”运算符,不变。
    ===========================
    # python v3.2
    >>> 3 / 2, 3.0 / 2, 3 // 2, 3.0 // 2
    (1.5, 1.5, 1, 1.0)
    ===========================
  • 相关阅读:
    UVA 11488 Hyper Prefix Sets (字典树)
    UVALive 3295 Counting Triangles
    POJ 2752 Seek the Name, Seek the Fame (KMP)
    UVA 11584 Partitioning by Palindromes (字符串区间dp)
    UVA 11100 The Trip, 2007 (贪心)
    JXNU暑期选拔赛
    计蒜客---N的-2进制表示
    计蒜客---线段的总长
    计蒜客---最大质因数
    JustOj 2009: P1016 (dp)
  • 原文地址:https://www.cnblogs.com/lanqiu5ge/p/9472244.html
Copyright © 2011-2022 走看看