前言:
眼前我们对“python比较三个数大小并输出最大值和最小值”都比较讲究,看官们都需要剖析一些“python比较三个数大小并输出最大值和最小值”的相关文章。那么小编也在网络上搜集了一些关于“python比较三个数大小并输出最大值和最小值””的相关文章,希望看官们能喜欢,大家快快来学习一下吧!1、编程试题:
编写一个程序,计算一个列表中三个数字的最大和最小乘积。
定义函数max_product_of_three(),该函数接受一个数字列表numbers作为其参数。
在函数内部,计算并返回列表中任意三个数字的最大乘积。
定义第二个函数min_product_of_three(),该函数也接受一个数字列表numbers作为其参数。
在这个函数内部,计算并返回列表中任意三个数字的最小乘积。
示例输入:
-8 -9 1 2 7
示例输出:
504
-126
解释:
最大乘积是 504 (-9,-8 和 7 的乘积)。而最小乘积是 -126 (-9,7 和 2 的乘积)。
2、代码实现:
可编辑代码如下:
#!/usr/bin/python3.9# -*- coding: utf-8 -*-## Copyright (C) 2024 , Inc. All Rights Reserved## @Time : 2024/3/5 21:24# @Author : fangel# @FileName : 138. 三个数的最大和最小乘积.py# @Software : PyCharmfrom itertools import combinationsdef max_product_of_three(numbers): tupleList = list(combinations(numbers, 3)) max_product = tupleList[0][0] * tupleList[0][1] * tupleList[0][2] for num in tupleList: if num[0] * num[1] * num[2] > max_product: max_product = num[0] * num[1] * num[2] return max_productdef min_product_of_three(numbers): tupleList = list(combinations(numbers, 3)) min_product = tupleList[0][0] * tupleList[0][1] * tupleList[0][2] for num in tupleList: if num[0] * num[1] * num[2] < min_product: min_product = num[0] * num[1] * num[2] return min_product# 获取用户输入numbers = list(map(int, input().split()))# 调用函数print(max_product_of_three(numbers))print(min_product_of_three(numbers))
3、代码分析:
本例可以采用三层循环遍历所有三位数的组合,计算并更新最大乘积和最小乘积。
也可以用itertools迭代器,其中的combinations(p,r)是长度为r的元组,有序无重复元组,本例r=3
4、运行结果:
输入:
-9 -10 11 12 1 2
输出:
1080
-1320
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。