Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在Python中找到与数字最接近的值?_Python 3.x_Algorithm - Fatal编程技术网

Python 3.x 如何在Python中找到与数字最接近的值?

Python 3.x 如何在Python中找到与数字最接近的值?,python-3.x,algorithm,Python 3.x,Algorithm,python中是否有任何方法可以找出两个值中哪一个是给定的数字 假设我有两个值,比如1.5和5.5,我想找出哪一个最接近3。不使用列表您可以使用带有键功能的min,将其各自差异的abs与比较键: min((1.5, 3.5), key=lambda x: abs(3-x)) # 3.5 我不知道是否有一个内置的函数可以实现这一点,但它很容易做到你自己,例如:- 编辑:- 抱歉,我首先犯了一些简单的错误,因为我正在使用手机,我无法编译它,但我已修复它们:- def closer(n1, n2,

python中是否有任何方法可以找出两个值中哪一个是给定的数字


假设我有两个值,比如1.5和5.5,我想找出哪一个最接近3。不使用列表

您可以使用带有键功能的
min
,将其各自差异的
abs
与比较键:

min((1.5, 3.5), key=lambda x: abs(3-x))
# 3.5

我不知道是否有一个内置的函数可以实现这一点,但它很容易做到你自己,例如:-

编辑:-

抱歉,我首先犯了一些简单的错误,因为我正在使用手机,我无法编译它,但我已修复它们:-

def closer(n1, n2, main):
    if(abs(main-n1)>abs(main-n2)):
        return n2
    else:
        return n1

print(closer(1.5, 5.5, 3))

#the result is 1.5

数字不在列表中,不使用列表。