news 2026/4/23 10:30:50

第三次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/23 10:11:21

去哪儿网白盒漏洞 AI 运营实践

前言 在当今快速发展的软件开发环境中&#xff0c;安全漏洞管理正在经历一场深刻的变革。随着 DevOps 理念的广泛普及&#xff0c;安全左移&#xff08;Shift Left Security&#xff09;已成为行业共识&#xff0c;企业纷纷将安全检测前置到开发流程的早期阶段&#xff0c;构建…

作者头像 李华
网站建设 2026/4/23 6:54:44

90%的项目失败,都是从需求管理开始崩塌的!

在产品更新节奏加快、项目复杂性日益提升的当下&#xff0c;许多企业在研发过程中面临着一个共同的难题&#xff1a;需求在流程中容易“丢失”或“变形”。从前端市场输入到后端技术实现&#xff0c;往往缺乏清晰的链条与协作机制&#xff0c;造成计划混乱、执行偏差、任务拖延…

作者头像 李华
网站建设 2026/4/23 10:11:28

NGUI裁剪Shader的底层逻辑与性能优化

先来个很真实的场景: 你接手一个 NGUI 老项目,打开某个滚动列表(ScrollView),发现两件事: 列表能裁剪,超出区域的 item 不显示——看起来很正常。 但一到低端机就掉帧,Profiler 里 UI 渲染时间飙升,GPU 像在哭。 你问:“不就是裁剪一下吗?不让超出区域的像素画出来,…

作者头像 李华
网站建设 2026/4/1 9:31:21

如何在vue3+ts项目中实现zebra扫描枪扫码效果

1实现一个hooks import { onMounted, onUnmounted, ref } from vueinterface ScanOptions {threshold?: numberminLength?: numberonScanProgress?: (buffer: string) > voidonScanSuccess: (code: string) > void }export function useScanGun(options: ScanOptions…

作者头像 李华
网站建设 2026/4/17 19:39:54

Java套接字编程:深入解析多线程回显服务器的实现

文章目录Java套接字编程&#xff1a;深入解析多线程回显服务器的实现什么是回显服务器&#xff1f;Java套接字编程的基本概念实现一个单线程回显服务器服务端代码实现客户端代码实现运行效果为什么需要多线程&#xff1f;实现一个多线程回显服务器改进后的服务端代码客户端代码…

作者头像 李华
网站建设 2026/4/22 18:46:25

现代数据架构的AI驱动转型:AI应用架构师的角色与挑战

现代数据架构的AI驱动转型&#xff1a;AI应用架构师的角色与挑战 一、引言&#xff1a;为什么AI驱动的数据架构转型是必然&#xff1f; 1.1 传统数据架构的“失效”困境 在数字化浪潮下&#xff0c;企业的数据环境正在发生根本性变化&#xff1a; 数据量爆炸&#xff1a;IDC预测…

作者头像 李华