python经验分享

 函数的应用

1 下图是一个简易的学生信息管理系统:

分别定义添加,展示,删除,保存学生信息的四个函数,并利用csv文件的读取与写入来完成学生信息的展示与保存工作

数据存放在文件内,功能包含添加学生信息 删除学生信息、查看学生信息等。为方便起见,功能选择采用菜单方式,根据选择的菜单号执行对应的功能,每个菜单所展示的功能都可以用函数进行实现。 学生信息保存在一个字典结构中,字典每一项存储了一个学生的信息,包括:学号、姓名、性别、班级、电话,如下表所示。从文件读入的信息可以结合字典进行学生信息的存储。

问题 1:文件读写错误在读取和写入 CSV 文件时,可能会出现文件路径错误、权限问题或者读写格式不正确导致数据丢失或损坏。解决办法:仔细检查文件路径是否正确,确保有足够的权限进行读写操作。对于 CSV 文件的读写,要严格按照 CSV 的格式规范进行处理。

问题 2:数据类型转换错误从 CSV 文件读取的数据可能是字符串类型,在进行后续操作时需要进行数据类型的转换,可能会出现转换错误。解决办法:在进行数据类型转换时,添加适当的错误处理代码,以应对无法转换的情况。

问题 3:函数逻辑错误例如,在添加、删除或展示学生信息的函数中,可能会出现逻辑漏洞,导致数据处理不正确。解决办法:在编写函数前,详细设计函数的逻辑流程,并通过多种测试用例进行验证。

问题 4:字典操作错误在对存储学生信息的字典进行操作时,可能会出现键值错误、重复添加等问题。解决办法:在操作字典前,先检查键是否存在,避免重复添加相同键的学生信息。

2 下图是一个使用递归函数生成杨辉三角的图形:

问题 1:递归边界条件错误递归函数如果没有正确设置边界条件,可能会导致无限递归,造成程序崩溃。解决办法:明确递归的终止条件,并在函数中正确判断和处理。

问题 2:空间复杂度问题递归生成杨辉三角可能会消耗较多的栈空间,对于较大规模的计算可能会导致栈溢出。解决办法:考虑使用迭代的方式来实现,或者优化递归算法以减少空间消耗。

(1)迭代法:

问题 :内存占用过大 如果要生成的行数非常多,可能会占用大量内存来存储整个杨辉三角。

解决办法:可以根据实际需求,只生成和返回需要的部分行,或者使用更节省内存的数据结构,如生成器

(2)生成器方法:

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值