美文网首页
Python中float('INF')的使用

Python中float('INF')的使用

作者: 时间煮菜 | 来源:发表于2020-04-06 10:02 被阅读0次

最近在看动态规划的时候遇到了res = float('INF'),不知道是什么意思,为什么要这么使用,经过查阅,现将用法记录如下。

def coinChange(coins: List[int], amount: int):
    def dp(n):
        # base case
        if n == 0: return 0
        if n < 0: return -1
        # 求最小值,所以初始化为正无穷
        res = float('INF')
        for coin in coins:
            subproblem = dp(n - coin)
            # 子问题无解,跳过
            if subproblem == -1: continue
            res = min(res, 1 + subproblem)

        return res if res != float('INF') else -1

    return dp(amount)
  • 如上面的例子中使用到的:
    float("INF")表示为正无穷;
    float("-INF")表示负无穷

  • 用法:

  1. 用INF做加法、乘法等算数运算仍然会的到inf:
In [1]: 1 + float('INF')
Out[1]: inf

In [2]: 88 * float('INF')
Out[2]: inf

注意:这里使用INF * 0会的到not-a-number(nan)

# 正无穷 * 0 得到nan
In [3]: 0 * float('INF')
Out[3]: nan
  1. 除了 INF 外的其他数除以 INF ,会得到0:
In [4]: float('INF') / float('INF')
Out[4]: nan

In [5]: 2020 / float('INF')
Out[5]: 0.0

In [6]: 12138 / float('INF')
Out[6]: 0.0
  1. 任何其他的数值除以 INF 都会得到 INF, 因为INF表示正无穷
In [7]: float('INF') / 1203434
Out[7]: inf
  1. 如果 INF 涉及到 < 和 > 不等式的问题:
  • 记住所有数都比 -inf 大,所有数都比 +inf 小就可以了。
In [8]: 12138 < float('INF')
Out[8]: True

In [9]: 12138 < float('-INF')
Out[9]: False

相关文章

  • 认识python中的inf和nan

    认识python中的inf和nan python中的正无穷或负无穷,使用float("inf")或float("-...

  • Python中float('INF')的使用

    最近在看动态规划的时候遇到了res = float('INF'),不知道是什么意思,为什么要这么使用,经过查阅,现...

  • python评分卡之woe/iv

    pinf = float('inf') #正无穷大 ninf = float('-inf') #负无穷大 def ...

  • Python3中的最大整数和最大浮点数

    Python中的最大整数 Python中的最大浮点数 方法一:使用sys模块 方法二:使用float方法

  • INF和NAN

    INF 在Python中,inf表示正无穷,-inf表示负无穷 在比较的时候,所有的数都比正无穷小,所有的数都比负...

  • 浮点类型变量的状态

    一个float或double变量除了表示数值之外,其实它还存在另外两种状态即 NaN 和 Inf. 如果使用这两...

  • clearfix

    css中float left与float right的使用说明

  • python 基础(一)

    python数字python2中整形 int 1浮点形 float 2.1长整形long python基本...

  • float学习笔记

    float特性 任何元素都可以使用float属性,行内元素使用float后会变为行内块级元素 普通流中的块级元素“...

  • python 基础知识之除法

    python中使用除法后,结果是float类型,如果想得到一个int类型的结果可以使用"//"

网友评论

      本文标题:Python中float('INF')的使用

      本文链接:https://www.haomeiwen.com/subject/rwdvphtx.html