- 博客(13)
- 收藏
- 关注
原创 处理Excel文件中的成绩数据
编写程序,模拟生成若干同学的成绩并写入Excel文件,其中学生姓名和课程名称均可重复,也就是允许出现同一门课程的多次成绩,最后统计所有学生每门课程的最高成绩,并写入新的Excel文件。假设某学校所有课程每学期允许多次考试,学生可随时参加考试,系统自动将每次成绩添加到Excel文件(包含3列:姓名,课程,成绩)中,现期末要求统计所有学生每门课程的最高成绩。(2)了解使用扩展库openpyxl操作Excel文件的方法。(1)了解扩展库openpyxl的安装与使用。(3)熟练运用字典结构解决实际问题。
2024-12-16 15:53:54
212
原创 处理Excel文件中的成绩数据
编写程序,模拟生成若干同学的成绩并写入Excel文件,其中学生姓名和课程名称均可重复,也就是允许出现同一门课程的多次成绩,最后统计所有学生每门课程的最高成绩,并写入新的Excel文件。假设某学校所有课程每学期允许多次考试,学生可随时参加考试,系统自动将每次成绩添加到Excel文件(包含3列:姓名,课程,成绩)中,现期末要求统计所有学生每门课程的最高成绩。(2)了解使用扩展库openpyxl操作Excel文件的方法。(1)了解扩展库openpyxl的安装与使用。(3)熟练运用字典结构解决实际问题。
2024-12-09 15:43:49
183
原创 自定义类模拟三维向量及其运算
可结合教材146页,例6-1的内容进行学习(自定义数组)。在MyArray.py文件中,定义了一个数组类,支持数组与数字之间的四则运算,数组之间的加法运算、内积运算和大小比较,数组元素访问和修改,以及成员测试等功能。定义一个三维向量类,并定义相应的特殊方法实现两个该类对象之间的加、减运算(要求支持运算符+、-),实现该类对象与标量的乘、除运算(要求支持运算符*、/),以及向量长度的计算(要求使用属性实现)。
2024-12-02 16:22:28
220
原创 模拟汉诺塔问题
据说古代有一个梵塔,塔内有三个底座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个和尚想把这64个盘子从A座移到C座,但每次只能允许移动一个盘子。在移动盘子的过程中可以利用B座,但任何时刻3个座上的盘子都必须始终保持大盘在下、小盘在上的顺序。如果只有一个盘子,则不需要利用B座,直接将盘子从A移动到C即可。编写函数,接收一个表示盘子数量的参数和分别表示源、目标、临时底座的参数,然后输出详细移动步骤和每次移动后三个底座上的盘子分布情况。(4)熟练运行列表对象的方法。(3)理解函数递归。
2024-11-15 11:00:59
541
原创 抓狐狸游戏设计与实现
假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在玩家来抓之前跳到隔壁洞口里。如果在规定的次数内抓到了狐狸就提前结束游戏并提示成功;如果规定的次数用完还没有抓到狐狸,就结束游戏并提示失败。(3)熟练运用选择结构和循环结构解决实际问题。(5)理解使用异常处理结构约束用户输入的用法。(4)理解带else子句的循环结构执行流程。(1)培养分析问题并对进行建模的能力。(2)熟练使用列表解决实际问题。
2024-11-11 15:41:58
317
原创 计算小明爬楼梯的爬法数量
从第15个台阶上往回看,有3种方法可以上来(从第14个台阶上一步迈1个台阶上来,从第13个台阶上一步迈2个台阶上来,从第12个台阶上一步迈3个台阶上来),同理,第14个、13个、12个台阶都可以这样推算,从而得到递归公式f(n) = f(n-1) + f(n-2) + f(n-3),其中n=15、14、13、...、5、4。假设一段楼梯共15个台阶,小明一步最多能上3个台阶。(5)养成检查和测试循环结构边界条件的习惯。(6)养成时刻注意各级代码缩进级别的习惯。(3)能够编写递归函数代码解决实际问题。
2024-11-11 15:37:57
401
原创 垃圾邮件快速识别思路与实现
朴素贝叶斯算法算法、支持向量机算法等主流的垃圾邮件分类算法都依赖于特征向量的提取和数据集对模型的训练,其中特征向量的提取又依赖于对邮件正文的分词结果。例如,在“发票”中间插入“【”变成“发【票”将会使得jieba或者snownlp之类的分词工具无法正常分词,从而干扰最终的邮件分类效果。如果一封邮件中包含的类似字符数量超过一定的比例,我们可以直接认为是垃圾邮件,而不需要朴素贝叶斯算法或者支持向量机等复杂的算法,可以大幅度提高分类速度。编写程序,对给定的邮件内容进行分类,提示“垃圾邮件”或“正常邮件”。
2024-11-04 16:28:20
485
原创 凯撒加密算法原理与实现
凯撒加密算法的原理是,把明文中每个英文字母替换为该字母在字母表中后面第k个字母,如果后面第k个字符超出字母表的范围,则把字母表首尾相接,也就是字母Z的下一个字母是A,字母z的下一个字母是a。编写程序,输入一个字符串作为待加密的明文,然后输入一个整数作为凯撒加密算法的密钥,最后输出该字符串使用该密钥加密后的结果。凯撒加密算法是一种经典加密算法,虽然抗攻击能力非常弱,现在也没有很好的应用价值了,但其中的思路还是值得借鉴的。(4)熟练运用字符串对象的方法。(2)理解凯撒加密算法原理。(3)理解切片操作。
2024-10-28 16:20:26
218
原创 无界面版猜数游戏设计与实现
编写程序模拟猜数游戏。程序运行时,系统在指定范围内生成一个随机数,然后提示用户进行猜测,并根据用户输入进行必要的提示(猜对了、太大了、太小了),如果猜对则提前结束程序,如果次数用完仍没有猜对,提示游戏结束并给出正确答案。(4)理解条件表达式value1 if condition else value2的用法。(7)熟练掌握使用break语句提前跳出循环结构的用法。(6)理解带else子句的异常处理结构的执行流程。(5)理解使用异常处理结构约束用户输入的用法。(3)理解带else子句的循环结构执行流程。
2024-10-21 15:38:39
393
原创 使用枚举法验证6174猜想
1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到6174这个数字,并且这个操作最多不会超过7次。(3)了解标准库itertools中combinations函数的用法。(5)熟练使用内置函数int()、str()、sorted()。(4)熟练使用字符串的join()方法。(2)熟练使用选择结构和循环结构。(1)了解6174猜想的内容。
2024-10-21 15:35:36
257
原创 Python运算符、内置函数、序列用法
(5)编写程序,输入两个分别包含若干整数的列表lstA和lstB,输出一个字典,要求使用列表lstA中的元素作为键,列表lstB中的元素作为值,并且最终字典中的元素数量取决于lstA和lstB中元素最少的列表的数量。(6)编写程序,输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。(4)编写程序,输入一个包含若干整数的列表,输出一个新列表,要求新列表中只包含原列表中的偶数。(7)编写程序,输入一个包含若干整数的列表,输出列表中所有整数连乘的结果。
2024-10-11 22:17:00
271
原创 理解浮点数运算的误差
在原始的 cni 函数中,使用了整数除法 // 来计算组合数,这导致了精度问题。在组合数的计算中,分子和分母都是整数,但是当分子和分母都很大时,直接进行整数除法会导致丢失小数部分,从而得到错误的结果。在Python中,真除 / 进行除法运算时,结果会保留所有的小数部分,不会进行任何形式的取整。阅读并适当增加必要的代码来调试下面的代码,分析代码功能,发现并解决代码中的错误。(2)理解运算符/和//的区别,理解运算符//的原理。(3)理解浮点数运算的误差和可能带来的问题。(1)理解组合数定义式的化简。
2024-10-11 21:02:49
235
原创 python学习(一)
2.利用文件保存位置打开jupyter notebook,便于文件存储。3.jupyter notebook界面打开后,新建文档,尝试运行。1.下载anaconda和jupyter notebook。
2024-09-19 18:34:26
274
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅