zoukankan      html  css  js  c++  java
  • python的正负无穷float("inf")的用法

    今天,在看书的时候看到这么一个例子:

    这是用来求解 从某个数字列表中找出俩个彼此最接近但是不相等的数(俩者之间的绝对差是最小的)

    >>> from random import randrange
    >>> seq = [randrange(10**10) for i in range(100)]
    >>> dd=float("inf")
    >>> for x in seq:
    ...     for y in seq:
    ...         if x==y:continue
    ...         d=abs(x-y)
    ...         if d<dd:
    ...             xx,yy,zz=x,y,d
    ... 
    >>> xx,yy
    (6455592839, 1698708708)
    

    但我看到这个例子的时候,看到了一个没有遇到过的语句:dd = float(“inf”)

    然后开始查阅资料后,这个是表示“正负无穷”的意思,下面对于这个用法记录一下:

    1.正无穷:float("inf"); 负无穷:float("-inf")

    2.利用inf做简单的加法、乘法等算数运算仍然会的到inf:

    >>> 45+float("inf")
    inf
    >>> 88*float("inf")
    inf
    

    注意:利用inf乘以0会的到not-a-number(nan)

    >>> 0*float("inf")
    nan
    

    3.除了inf外的其他数除以inf,会得到0:

    >>> 2017/float("inf")
    0.0
    >>> 176.5/float("inf")
    0.0
    >>> float("inf")/float("inf")  --> 除了这个会得到nan外
    nan
    

    4.当然从数学意义上面可以得知,通常的运算是不会得到 inf值的

    5.不等式:

    当我们涉及到 < 和 > 时:

      所有数都比 -inf 大;

      所有数都比 +inf 小;

  • 相关阅读:
    【交换】
    【数字对】
    【改造二叉树】
    【Begin】
    100以内所有质数的输出
    位运算符、|和||、&和&&的区别
    linux中vim编辑器三种模式及常用命令的使用
    静态代码块、构造代码块和构造函数的执行顺序
    字符乱码出现的原因及解决办法
    Springcloud-微服务
  • 原文地址:https://www.cnblogs.com/ShaunChen/p/6231127.html
Copyright © 2011-2022 走看看