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()
相关推荐
佩奇大王20 分钟前
P2408 特殊日期
java·开发语言
YMH.23 分钟前
Day3.14c++
开发语言·c++
威联通网络存储26 分钟前
某新能源汽车研发中心:基于威联通的全闪存数据治理实践
python·汽车
花间相见27 分钟前
【JAVA基础11】—— 吃透原码、反码、补码:计算机数值表示的底层逻辑
java·开发语言·笔记
阿蒙Amon28 分钟前
C#常用类库-详解Playwright
开发语言·c#
特种加菲猫29 分钟前
C++ std::list 完全指南:从入门到精通所有接口
开发语言·c++
清空mega29 分钟前
第4章:JSP 程序设计实战——for、if、动态表格与 99 乘法表
开发语言·python
共享家952735 分钟前
Java入门(类和对象)
java·开发语言