Python作业3

1.使用os和os.path以及函数的递归完成:

给出一个路径,遍历当前路径所有的文件及文件夹

打印输出所有的文件(遇到文件输出路径,遇到文件夹继续进文件夹)

python 复制代码
import os
def file(path):
    for item in os.listdir(path):
        item_path = os.path.join(path,item)
        if os.path.isfile(item_path):
            print(item_path)
        elif os.path.isdir(item_path):
            file(item_path)
file("C:\\Users\Z\Desktop\python\code")

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

python 复制代码
import hashlib as h
def encryption(str):
    salt = "@@@"
    res = h.md5(str.encode("utf-8"))
    res.update(salt.encode("utf-8"))
    return res.hexdigest()
 
username_database = encryption("zhangsan")
password_database = encryption("1234")
 
f = open("./database.txt","w+")
f.write("用户名:zhangsan\n")
f.write("密码:1234")
f.close()
 
def login(username,password):
    if encryption(username) == username_database and encryption(password) == password_database:
        print("登录成功")
    else:
        print("登录失败")
 
username = input("请输入用户名:")
password = input(("请输入密码:"))
 
login(username,password)

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

python 复制代码
class Student:
    def __init__(self,number,name,score):
        self.number = number
        self.name = name
        self.score = score
    def __str__(self):
        return f"number:{self.number},name:{self.name},score:{self.score}"
 
class StudentManage:
    def __init__(self):
        self.students = []
    def add_student(self,number,name,score):
        student = Student(number,name,score)
        self.students.append(student)
    def sort_score(self):
        self.students.sort(key=lambda x : -x.score)
    def test_txt(self,filename):
        with open(filename,"a+",encoding="utf-8") as f:
            for student in self.students:
                f.write(f"{student}\n")
    def main(self):
        while True:
            running = int(input("请选择要进行的操作:1.录入 2.退出"))
            if running == 1:
                number = input("请输入学生学号:")
                name = input("请输入学生姓名:")
                score = int(input("请输入学生成绩:"))
                self.add_student(number, name, score)
            else:
                break
        self.sort_score()
        self.test_txt("student_info.txt")
 
if __name__ == "__main__":
    res = StudentManage()
    res.main()
相关推荐
过期的秋刀鱼!5 分钟前
带替换的采样
人工智能·python·算法·决策树·机器学习
Python私教7 分钟前
AI Agent 可观测性不只是日志:一套可回放的多步执行链
人工智能·后端·python
Python私教19 分钟前
模型越强越不需要 Skills?我把 AI 编程能力拆成 4 层
人工智能·后端·python
databook31 分钟前
如何快速构建一个数据科学应用?从零到上线
python·机器学习·scikit-learn
上下求索,莫负韶华36 分钟前
切面学习笔记
笔记·python·学习
2601_963869951 小时前
【计算机毕业设计】基于Java的潮牌购物网站系统的设计与实现
java·开发语言·课程设计
2301_806709381 小时前
国内知名的生活水箱制造厂有哪些
python·生活
名字还没想好☜1 小时前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
学掌门2 小时前
超级菜鸟怎么学习数据分析?
python·学习·数据分析
郝学胜-神的一滴2 小时前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面