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 小;

  • 相关阅读:
    网页的摘要信息
    自我介绍
    DIV和SPAN的区别
    软件工程简介
    设置层的漂移
    构建之法现代软件工程
    手机验证码的相关知识
    Python2和Python3的区别
    我的第一个练习
    结对编程后传之做汉堡
  • 原文地址:https://www.cnblogs.com/ShaunChen/p/6231127.html
Copyright © 2011-2022 走看看