鉴于3个数字,我需要找到两个数字之间的数字.
即,给定3,5,2我需要返回3.
我尝试通过所有三个并使用if else条件检查每个是否在其他两个之间来实现这一点.但这似乎是一种天真的方式来做到这一点.有更好的方法吗?
Sve*_*ach 21
将它们放入列表中,对它们进行排序,选择中间列表.
三个数字最明显的方式
def mean3(a, b, c):
if a <= b <= c or c <= b <= a:
return b
elif b <= a <= c or c <= a <= b:
return a
else:
return c
Run Code Online (Sandbox Code Playgroud)
你想要的是中位数。您可以将下面的代码用于任意数量的号码:
import numpy
numbers = [3,5,2]
median = numpy.median(numbers)
Run Code Online (Sandbox Code Playgroud)
如需定制解决方案,您可以访问此页面。