Python数据分析实验一:文件过滤与快速排序

需积分: 0 0 下载量 148 浏览量 更新于2024-08-04 收藏 471KB DOCX 举报
在本次Python数据分析实验一中,学生需完成两个主要任务,涉及文件操作和基础算法实现。首先,习题1要求学生处理并输出文件`scziDesk.code.py`的内容,但忽略所有以井号 (#) 开头的注释。这涉及到文件读取(通过`open()`函数)、逐行遍历(`for`循环)以及查找和条件判断(`find()`方法)。学生需要确保即使井号不在行首也能够正确跳过注释,只打印非注释部分,并将结果保存到新的文件`scziDesk.code2.py`。 在实现过程中,需要注意`# -*- coding: utf-8 -*-`是编码声明,`@Time`、`@Author`和`@File`是代码注释,用于记录作者信息和创建日期。`outputfiles2`函数的作用是打开并处理文件,其中使用`continue`语句来跳过包含井号的行。函数的参数`filename`表示待处理文件的路径。 第二个任务是实现快速排序算法(习题2),该算法不允许调用现成的库函数,需要手动编写。学生需要生成200万个64位整型随机数据,通过`getrandbits()`函数实现。接下来,学生需要实现快速排序算法,包括: 1. 生成随机数:`getNum()`函数生成指定数量的随机整数。 2. 计算平均值:`mean(numbers)`函数计算数组的平均值,通过求和除以元素个数得到。 3. 计算离差:`lica()`函数计算每个数据点与平均值的差值,保留三位小数后添加到`licha1`列表中。 最后,需要统计排序后的数据集的均值、中位数和方差,这些统计量可以进一步分析数据分布的集中趋势和离散程度。 整个实验旨在锻炼学生的编程基础、文件操作技能和算法设计能力,同时也检验他们在实际问题中的数据分析实践能力。在完成这些任务时,学生需要熟悉Python的基本语法,掌握文件操作、字符串处理和统计分析等相关知识。