如何使用python的内置函数divmod()

python是一种简单易学且功能壮大的编程说话,它具有白话化的酿成体例,深受大师喜爱。跟着人工智能的成长,python越来越受大师喜爱。在利用python编程的过程中我们总会碰到各类各样的问题,可是我们总会找到解决的方案的。例如下面的这个问题,若何利用python的内置函数divmod()。

东西/原料

  • 电脑

方式/步调

  1. 1

    divmod()函数可以用来求a对b取余的商和余数。它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对整型和浮点数都可以操作,这里我们可以看到python对浮点数是近似处置,divmod(5.2,1.2)应该为(4,0.4)

  2. 2

    那么a到底是一个什么类型呢?用小括号包含着,我猜应该是tuple。

    用>>> type(a)

    <class 'tuple'>

    号令检测一下。公然准确

  3. 3

    老方式,用>>> help(divmod)

    Help on built-in function divmod in module builtins:

    divmod(x, y, /)

        Return the tuple (x//y, x%y).  Invariant: div*y + mod == x.

    来查询divmod的帮忙文档

  4. 4

    >>> divmod(5.2,2)

    (2.0, 1.2000000000000002)

    >>> divmod(1+2j,2)

    Traceback (most recent call last):

      File "<pyshell#9>", line 1, in <module>

        divmod(1+2j,2)

    TypeError: can't take floor or mod of complex number.

    >>> 

    a和b可所以夹杂的浮点数和整数,成果为两个浮点数。可是a和b都不克不及是复数,因为不克不及对复数取floor和mod。

  5. 5

    对于夹杂操作数类型,合用双目算术运算符的法则。对于整数,成果和 (a // b, a % b) 一致。对于浮点数,成果是 (q, a % b) ,q 凡是是 math.floor(a / b) 但可能会比 1 小。在任何环境下, q * b + a % b 和 a 根基相等。我们写了一些代码来测试看看。

  6. 6

    若是 a % b 非零,它的符号和 b 一样,而且 0 <= abs(a % b) < abs(b) 。对于负数这个还蛮考验人的。

  • 发表于 2019-11-29 20:27
  • 阅读 ( 1166 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具