Python求三个数最大值

本文将以Python求三个数最大值为中心,从以下三个方面阐述该问题:

一、算法实现

求三个数最大值的算法实现有多种方式,下面将介绍三种方法。

方法一:使用max函数


def max_of_three(a, b, c):
    return max(a, b, c)

上面的代码中,max函数从三个数中找到最大值并返回。

方法二:使用if语句


def max_of_three(a, b, c):
    if a >= b and a >= c:
        return a
    elif b >= a and b >= c:
        return b
    else:
        return c

上面的代码中,使用if语句判断三个数之间的最大值。

方法三:使用列表排序


def max_of_three(a, b, c):
    nums = [a, b, c]
    nums.sort()
    return nums[2]

上面的代码中,将三个数放进列表中进行排序,然后返回最大值。

二、性能比较

针对上面提供的三种求解方法,现在来对它们进行基准测试。


import timeit

def max_of_three_1(a, b, c):
    return max(a, b, c)

def max_of_three_2(a, b, c):
    if a >= b and a >= c:
        return a
    elif b >= a and b >= c:
        return b
    else:
        return c

def max_of_three_3(a, b, c):
    nums = [a, b, c]
    nums.sort()
    return nums[2]

if __name__ == "__main__":
    print(timeit.timeit("max_of_three_1(1, 2, 3)", setup="from __main__ import max_of_three_1"))
    print(timeit.timeit("max_of_three_2(1, 2, 3)", setup="from __main__ import max_of_three_2"))
    print(timeit.timeit("max_of_three_3(1, 2, 3)", setup="from __main__ import max_of_three_3"))

上面的代码中,使用Python的timeit库进行基准测试,结果如下:


0.1354021
0.18545920000000002
0.3792012000000001

从结果上可以看出,使用max函数的效率最高,if语句次之,使用列表排序的效率最低。

三、使用示例

下面是一个使用示例,假设需要从三个输入值中找出最大值:


a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
c = int(input("请输入第三个数字:"))
print("输入的三个数字中最大值为:{}".format(max_of_three(a, b, c)))

上面的代码中,通过input函数获取三个数字,然后使用上文提到的方法求得最大值并输出。

本文链接:https://my.lmcjl.com/post/5499.html

展开阅读全文

4 评论

留下您的评论.