本文将以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 评论