news 2026/4/16 15:34:13

第三次Python练习题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第三次Python练习题

1.使用os和os.path以及函数的递归完成:给出一个路径,遍历当前路径所有的文件及文件夹打印输出所有的文件(遇到文件输出路径,遇到文件夹继续进文件夹)

import os import os.path def list_all_file(path): for name in os.listdir(path): #逐个遍历这个名称列表,每次循环拿到一个文件 / 文件夹的名称 name。 file_path = os.path.join(path,name) #把当前路径 path 和名称 name 拼接成完整的文件 / 文件夹路径。 if os.path.isfile(file_path):#判断 file_path 是否是一个文件。 print(file_path) elif os.path.isdir(file_path): #判断 file_path 是否是一个文件夹。 list_all_file(file_path) if __name__ == "__main__": list_all_file("D:\\Python\\code\\05.Python-io")

2.使用加密模块及IO模拟登录功能,要求使用文件模拟数据库存储用户名和密码。

import hmac datebase = {} def encryption_admin(str): salt = "%%$$&&".encode("utf-8") return hmac.new(str.encode("utf-8"),salt,"md5").hexdigest() datebase["username"] = encryption_admin("zhangsan") datebase["password"] = encryption_admin("111") username = input("请输入用户名:") password = input("请输入密码:") if (encryption_admin(username) == datebase["username"]) and (encryption_admin(password) == datebase["password"]): print("login success") else: print("login failure")

3.使用面向对象编程完成学生信息录入功能,数据存储在本地文件txt中并读取学生信息并按照成绩进行排序,学生其他属性自行规划

class Student: """学生类""" def __init__(self, name, age, score): self.name = name self.age = int(age) self.score = float(score) def __str__(self): """打印信息""" return f"姓名:{self.name}, 年龄:{self.age}, 成绩:{self.score}" def __lt__(self, other): return self.score < other.score def __eq__(self, other): return self.name == other.name and self.age == other.age and self.score == other.score def __hash__(self): return hash((self.name, self.age, self.score)) def save_student(name, age, score): """保存学生信息""" try: with open("D:\\Python\\code\\05.Python-io\\student.txt", "a", encoding="utf-8") as f: f.write(f"{name},{age},{score}\n") print("保存成功") except Exception as e: print("异常信息:", e) def read_student(): """读取学生信息""" students = set() try: with open("D:\\Python\\code\\05.Python-io\\student.txt", "r", encoding="utf-8") as f: for line in f: name, age, score = line.strip().split(",") students.add(Student(name, age, score)) except Exception as e: print("异常信息:", e) return list(students) # 将集合转换为列表 def input_student(): """录入学生信息""" students = [] while True: name = input("请输入学生姓名(输入q结束):") if name == "q": break age = input("请输入学生年龄:") score = input("请输入学生成绩:") student = Student(name, age, score) students.append(student) save_student(name, age, score) return students def sort_student(students): """排序""" students.sort(reverse=True) return students if __name__ == "__main__": # 录入学生信息 students = input_student() # 保存学生信息 for student in students: save_student(student.name, student.age, student.score) # 读取学生信息 students = read_student() # 排序学生信息 sorted_students = sort_student(students) # 打印排序后的学生信息 print("排序后的学生信息:") for s in sorted_students: print(s)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:32:02

YOLO26最新创新改进系列:叫叫兽原创二次创新!上下文+CBAM捕捉中远距离像素间的语义关联,将全局场景信息有效融合到局部特征中,为YOLO26提供了原本缺失的“大局观”,有效涨点,嘎嘎创新!!!!

YOLO26最新创新改进系列&#xff1a;叫叫兽原创二次创新&#xff01;上下文CBAM捕捉中远距离像素间的语义关联&#xff0c;将全局场景信息有效融合到局部特征中&#xff0c;为YOLO26提供了原本缺失的“大局观”&#xff0c;有效涨点&#xff0c;嘎嘎创新&#xff01;&#xff0…

作者头像 李华
网站建设 2026/3/30 20:19:46

【工具】基于Cloudflare的导师评价网

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 网页效果 https://supervisor.xfxuezhang.cn/ 创建Cloudflare数据库 1、创建D1 SQL数据库&#xff0c;名称随便填&#xff0c;比如mentors。 2、“控…

作者头像 李华
网站建设 2026/4/16 13:41:57

谷歌云存储长期优惠解析:精打细算的云上存储策略

把数据放到云端&#xff0c;现在基本是企业和开发者的常规操作了。谷歌云存储大家用得不少&#xff0c;毕竟它稳定、安全&#xff0c;性能也够全球化。但说到花钱&#xff0c;很多人心里都会嘀咕&#xff1a;这玩意儿有没有长期优惠啊&#xff1f;毕竟这直接关系到项目未来几年…

作者头像 李华
网站建设 2026/4/16 11:59:32

【微实验】Zhang-Suen 快速并行细化算法与MATLAB实现

目录 &#x1f58b;️ 序章&#xff1a;笔墨间的骨架&#xff0c;时光里的轮廓 &#x1f914; 发现问题&#xff1a;机器的 “线条困惑” &#x1f4a1; 技术思路&#xff1a;用 “两轮温柔侵蚀”&#xff0c;保留核心骨架 &#x1f4da; 数学之美&#xff1a;从邻域判断到像…

作者头像 李华