Python输入一组数,除去最大值和最小值求平均值

引言

在日常生活和工作中,我们经常需要对一组数据进行处理和分析。在数据处理的过程中,有时候需要排除掉一些特殊值,例如最大值和最小值,以避免这些极端值对数据的影响。本文将介绍如何使用Python编程语言来输入一组数,除去最大值和最小值后求平均值。我们将通过代码示例来展示实现过程,并辅以甘特图和饼状图来更加形象化地展示。

代码实现

首先,我们需要使用Python的input函数来输入一组数。可以使用split函数将输入的一串数字分割成多个数字,并将其存储在一个列表中。代码如下所示:

numbers = input("请输入一组数,用空格分隔:").split()
numbers = [float(x) for x in numbers]

接下来,我们可以使用Python的内置函数min和max来分别找到列表中的最小值和最大值。然后,我们可以使用列表解析(list comprehension)来创建一个新的列表,其中排除了最小值和最大值。代码如下所示:

min_value = min(numbers)
max_value = max(numbers)
new_numbers = [x for x in numbers if x != min_value and x != max_value]

最后,我们可以使用Python的内置函数sum和len来分别计算新列表的总和和长度,并计算平均值。代码如下所示:

sum_value = sum(new_numbers)
average = sum_value / len(new_numbers)
print("除去最大值和最小值的平均值为:", average)

代码示例

下面我们通过具体的例子来演示代码的运行过程。假设我们输入一组数为:1 2 3 4 5,其中最小值为1,最大值为5。排除最小值和最大值后,剩余的数字为:2 3 4。计算平均值后得到:3。

请输入一组数,用空格分隔:1 2 3 4 5
除去最大值和最小值的平均值为: 3.0

可以看到,代码成功地计算出了除去最大值和最小值后的平均值。

甘特图

为了更加形象化地展示代码实现的流程,我们可以使用甘特图来展示。以下是使用mermaid语法绘制的甘特图,其中展示了代码实现的主要步骤。

gantt
    title 代码实现甘特图
    dateFormat  YYYY-MM-DD
    section 输入数据
    输入一组数           :done, 2022-01-01, 1d
    分割成多个数字       :done, 2022-01-02, 1d
    section 排除最大值和最小值
    找到最小值和最大值   :done, 2022-01-03, 1d
    创建新的列表         :done, 2022-01-04, 1d
    section 计算平均值
    计算总和             :done, 2022-01-05, 1d
    计算列表长度         :done, 2022-01-06, 1d
    计算平均值           :done, 2022-01-07, 1d

通过甘特图,我们可以清晰地看到代码实现的每个步骤所占用的时间和顺序。

饼状图

为了更加形象化地展示排除最大值和最小值后的数据分布情况,我们可以使用饼状图来展示。以下是使用mermaid语法绘制的饼状图,其中展示了原始数据和排除最大值和最小值后的数据的比例。

pie
    title 数据分布饼状图
    "最小值" : 1
    "最大值" : 5
    "其他值" : 8

通过饼状图,我们可以直观地看到最小