float python_Python中float('INF')的使用
最近在看動態規劃的時候遇到了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")表示負無窮
用法:
用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
除了 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
任何其他的數值除以 INF 都會得到 INF, 因為INF表示正無窮
In [7]: float('INF') / 1203434
Out[7]: inf
如果 INF 涉及到 < 和 > 不等式的問題:
記住所有數都比 -inf 大,所有數都比 +inf 小就可以了。
In [8]: 12138 < float('INF')
Out[8]: True
In [9]: 12138 < float('-INF')
Out[9]: False
總結
以上是生活随笔為你收集整理的float python_Python中float('INF')的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python round函数_Pytho
- 下一篇: 怎么学python知乎_你们都是怎么学