inf文件语法

ads

简介:在Python中可以使用float("inf")、float("-inf")分别表示正无穷、负无穷。


特性:

1、inf 经过普通的加减乘除算术运算,结果也是 inf。


2、inf 乘以0会得到 not-a-number(nan)


3、inf外的其他数除以inf,会得到 0


4、不等式1: 所有数都比-inf大  所有数都比+inf小


5、不等式2: inf进行简单的运算 和本身相等。即无穷大的数,和无穷大的数 + 1, -1 类似的这样的简单操作后,依然是无穷大。


案例:

# -*- coding: utf-8 -*-# inf 经过普通的加减乘除算术运算,结果也是 infdata = float("inf")
# 加减乘除r1 = data + 1r2 = data - 1r3 = data * 2r4 = data / 2
print(f"r1:{r1}, r2:{r2}, r3:{r3}, r4:{r4}")
# inf 乘以0会得到 not-a-number(nan):r5 = data * 0print(f"r5:{r5}") # r5:nan
# inf外的其他数除以inf,会得到 0r6 = 8888 / datar7 = -6666 / dataprint(f"r6:{r6}, r7:{r7}") # r6:0.0, r7:-0.0print(-6666 / data == 0) # True
# 不等式1: 所有数都比-inf大 所有数都比+inf小print(-99999 > float("-inf")) # Trueprint(99999 < float("inf")) # True
# 不等式2: inf进行简单的运算 和本身相等。# 即无穷大的数,和无穷大的数 + 1, -1 类似的这样的简单操作后,依然无穷大。print(float("inf") - 1 == float("inf"))  # True


综合案例:

# -*- coding: utf-8 -*-# time: 2022/7/16 10:29# file: test.py# author: tom# 公众号: 玩转测试开发
# 给你个整数数组 arr,其中每个元素都 不相同。# 请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。# 每对元素对 [a,b] 如下:# a , b 均为数组 arr 中的元素# a < b# b - a 等于 arr 中任意两个元素的最小绝对差# 示例 1:# 输入:arr = [4,2,1,3]# 输出:[[1,2],[2,3],[3,4]]## 示例 2:# 输入:arr = [1,3,6,10,15]# 输出:[[1,3]]
from typing import List

class Solution: def minimumAbsDifference(self, arr: List[int]) -> List[List[int]]: #  第一遍求出绝对差最小的值。 #  第二遍放入列表 min_bas = float("inf") arr.sort() loop = len(arr) for i in range(loop - 1): if arr[i + 1] - arr[i] < min_bas: min_bas = arr[i + 1] - arr[i] return [[arr[i], arr[i + 1]] for i in range(loop - 1) if arr[i + 1] - arr[i] == min_bas]

if __name__ == '__main__': s = Solution() r = s.minimumAbsDifference([3, 8, -10, 23, 19, -4, -14, 27])    print(r)

综合案例中:inf这个无穷大的值的好处在于传入的列表参数可能会很大,在不知道的情况下,如何给定初值,有了inf这个值,第一次执行上面代码中的 if arr[i + 1] - arr[i] < min_bas:  语句时,无论绝对值差有多大,都一定会执行,将第一次得到的绝对值的差值赋给min_bas,然后再次判断时就有了真正的比较值。


最后编辑于:2024/1/18 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com