📜  门| GATE-CS-2006 |第 32 题(1)

📅  最后修改于: 2023-12-03 15:42:16.123000             🧑  作者: Mango

GATE-CS-2006 Question 32

本题是关于计算机算法和数据结构的问题。题目内容如下:

给定任意$n$个正整数,你需要计算这些整数中的最小值、最大值以及平均值。

编写一个Python程序,输入为一个整数列表,输出为一个包含三个元素的元组,分别表示最小值、最大值和平均值。

Python代码实现
def min_max_avg(arr):
    """
    计算列表中元素的最小值、最大值和平均值
    :param arr: 列表
    :return: (最小值, 最大值, 平均值) 的元组
    """
    minimum = min(arr)
    maximum = max(arr)
    average = sum(arr) / len(arr)
    return minimum, maximum, average
    
arr = [3, 5, 7, 2, 9, 1, 4, 6, 8]
result = min_max_avg(arr)
print(result)  # (1, 9, 5.0)
解释

以上代码中定义了一个名为min_max_avg的函数,该函数接受一个列表为参数,并返回一个元组包含最小值、最大值和平均值。

首先,使用Python的内置函数minmax计算出列表中的最小值和最大值,分别赋给变量minimummaximum。然后,使用sum函数计算列表中所有元素的和,再除以该列表的长度,从而得到列表的平均值,结果赋给average。最后,将三个变量打包成一个元组并返回。

在示例代码中,我们使用一个具有$n=9$个正整数的列表进行测试,并输出其计算结果。

总结

本题要求我们计算列表中的最小值、最大值和平均值,Python中提供了丰富的内置函数,方便我们进行运算。编写代码时,需要仔细思考计算量、数据类型转换和返回值的组织等问题,在实现过程中,需要保证代码简明易懂并且具有可读性。