Skip to content

【循环练习】数据统计

项目简介

数据统计

知识模块

  • Python 编程语言

知识点

  • 列表
  • 变量
  • 循环语句

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

列表中保存若干个数字,计算数字的和,最小值,最大值,平均数

解题思路

  1. 初始化变量n_sum为0,用于累计求和。

  2. 初始化变量n_maxn_minNone,用于保存最大值和最小值。

  3. 创建一个列表data,其中保存了要处理的数字数据。

  4. 使用while循环遍历列表data中的每个元素,通过遍历获取每个数字。

  5. 在循环内部,依次进行以下操作:

  6. 循环结束后,得到数字的和、最大值和最小值。

  7. 打印输出数字的和、最大值和最小值。

  8. 计算平均数

完整代码

# 定义初始值
# 和为 0
n_sum = 0
# 最大值为空
n_max = None
# 最小值为空
n_min = None

# 要统计的列表
data = [23456, 234, 23, 423, 423, 423, 423, 412, 3235,
        346, 47, 5687, 678, 7, 453623, 4523, 565, 786,
        9789, 567, 34634, 234]

# 列表中元素的索引值,从 0 开始
i = 0
# 列表的长度
l = len(data)
# 当列表索引小于列表长度时循环
# 如果索引与长度相等时,循环结束
while i < l:
    # 找到索引为 i 的列表中的值,即为本次循环取到的列表中的值
    n = data[i]
    # 把这个值加到列表和中
    n_sum += n
    # 当最大值为空或者当前的最大值小于本次循环的列表值时
    if n_max == None or n_max < n:
        # 把最大值设置为本次循环的列表值
        n_max = n
    # 当最小值为空或者当前的最小值大于本次循环的列表值时
    if n_min == None or n_min > n:
        # 把最小值设置为本次循环的列表值
        n_min = n
    # 完成操作后,列表索引加 1
    i += 1
    # 进入下一次循环
# 平均值为列表和和处以列表长度
avg = n_sum / l

# 打印计算结果
print(f"列表和为:{n_sum}")
print(f"列表中的最大值为:{n_max}")
print(f"列表中的最小值为:{n_min}")
print(f"列表平均值为:{avg}")

代码讲解

  1. 定义了变量n_sum,初始值为0,用于保存数字的和;定义了变量n_maxn_min,初始值均为None,分别用于保存最大值和最小值。

  2. 创建了一个列表data,其中保存了待处理的数字数据。

  3. 使用while循环遍历列表data中的每个元素。循环使用了索引i来访问列表中的每个数字。

  4. 在循环内部,首先获取当前数字n,然后执行以下操作: 将当前数字n累加到变量n_sum中,即n_sum += n。 判断当前数字n是否为最大值: 如果n_maxNone,表示当前数字是第一个数字,将n_max更新为当前数字n。 否则,判断当前数字n是否大于n_max,如果是,则将n_max更新为当前数字n。 判断当前数字n是否为最小值: 如果n_minNone,表示当前数字是第一个数字,将n_min更新为当前数字n。 否则,判断当前数字n是否小于n_min,如果是,则将n_min更新为当前数字n。 更新索引i,即i += 1

  5. 循环结束后,得到了数字的和、最大值和最小值。

  6. 接下来,计算平均数avg,即将数字的和n_sum除以列表data的长度。

  7. 通过print()函数分别打印输出数字的和、最大值、最小值和平均数。