Python基础学习Day_08

引言

        今天本该是正常9点上班的,结果8点56老板发消息今天调休,我真的谢谢。然后我就抽这个时间把牙给弄了下,夜晚才开始写小项目。好歹最后终于写完了,知识点基本上都用上了。下面是代码。

1.利用面向对象和列表完成学生管理系统

# @Author  : 遇见猫
# @Time    : 2024/7/19 22:04


students = []
login = False
student = {"username": "狗岁", "password": "123456"}
students.append(student)
class Student():
    def __init__(self, name,password):
        self.name = name
        self.password = password

    def select(self,username):
        for student in students:
            if student["username"] == username:
                return student
        return None

    def insert(self, username, password):
        if Student.select(username) is None:
            stu = {"username": username, "password": password}
            students.append(stu)
        else:print("该用户已存在")

    def delete(self,username):
        stu = Student.select(username)
        if stu is not None:
            students.remove(stu)
        else:print("该用户不存在")

    def update(self,username,password):
        stu = Student.select(username)
        if stu is not None:
            stu["password"] = password
        else:print("该用户不存在")

while True:

    print("欢迎来到学生管理系统")
    print("请先登录")

    num = 0
    while True:
        username = input("请输入账号:")
        password = input("请输入密码:")
        num += 1
        stu = Student(username,password)
        for i in students:
            if i["username"] == username and i["password"] == password:
                print("登录成功")
                login = True
        if num > 5:
            print("输入次数过多,退出登录系统")
            break
        if login == False and num <= 4:
            print(f"第{num}次输入错误")
        else:
            break
    print(
          "1.查询学生\n"
          "2.新增学生\n"
          "3.删除学生\n"
          "4.修改学生信息\n"
          "5.导入导出学生信息\n"
          "6.退出系统\n")
    choose = input("请输入你要进行的操作:")
    if choose == "1":
        username = input("请输入你要查询的学生姓名:")
        stu = Student.select(username)
        print(stu)
    elif choose == "2":
        username = input("请输入你要增加的学生姓名:")
        password = input("请输入你要增加的学生密码:")
        Student.insert(username,password)
    elif choose == "3":
        username = input("请输入你要删除的学生姓名:")
        Student.delete(username)
    elif choose == "4":
        username = input("请输入你要修改的学生姓名:")
        password = input("请输入你要修改的学生密码:")
        Student.update(username,password)
    elif choose == "5":
        print("正在导出学生信息")
        with open("student.txt","w",encoding="utf-8") as f:
            for i in students:
                f.write(f"{i['username']},{i['password']}\n")
        print("导出成功")
    elif choose == "6":
        print("正在导入学生信息")
        with open("student.txt","r",encoding="utf-8") as f:
            for line in f.readlines():
                username,password = line.strip().split(",")
                Student.insert(username,password)
    elif choose == "7":
        print("退出系统")
        break

2.利用字典和列表完成学生管理系统

# @Author  : 遇见猫
# @Time    : 2024/7/19 17:39
'''
需求分析
学生管理系统:
使用集合和字典实现对于学员的增删改查

并且实现登录和导入导出功能
'''
import os

# 学生集合
students = list()
# 学生信息
student = {"username": "狗岁", "password": "123456"}
students.append(student)
print(students)
login = False

def IsExist(file):
    if os.path.exists(file):
        return "a+"
    else:
        return "w"

while True:

    print("欢迎来到学生管理系统")
    print("请先登录")

    num = 0
    while True:
        username = input("请输入账号:")
        password = input("请输入密码:")
        num += 1

        for i in students:
            if i["username"] == username and i["password"] == password:
                print("登录成功")
                login = True
        if num > 5:
            print("输入次数过多,退出登录系统")
            break
        if login == False and num <= 4:
            print(f"第{num}次输入错误")
        else:
            break
    print(
          "1.查询学生\n"
          "2.新增学生\n"
          "3.删除学生\n"
          "4.修改学生信息"
          "5.导入导出学生信息\n"
          "6.退出系统\n")
    choose = input("请输入你要进行的操作:")
    #   查询
    if choose == "1":
        username = input("请输入你要查询的学生姓名:")
        result = False
        for student in students:
            if student["username"] == username:
                print(student)
                result = True
                break
        if result == False:print("没有找到该学生")
        #   新增
    elif choose == "2":
        username = input("请输入要添加的学生姓名:")
        password = str(input("请输入要添加的学生密码:")).strip()
        student = {"username": username, "password": password}
        students.append(student)
        print("目前学生信息:",students)
    #删除
    elif choose == "3":
        username = input("请输入要删除的学生姓名:")
        result = False
        for student in students:
            if student["username"] == username:
                students.remove(student)
                result = True
                break
        if result == False: print("没有找到该学生")
    elif choose == "4":
        username = input("请输入要修改的学生姓名:")
        result = False
        for student in students:
            if student["username"] == username:
                student["password"] = input("请输入新的密码:")
                result = True
                break
        if result == False: print("没有找到该学生")
    #导出学生名单
    elif choose == "5":
        result = input("你有两种导出方案:\n"
                       "1.csv文件\n"
                       "2.txt文件\n"
                       "请输入你的方案")
        if result == "1":
            str1 = IsExist("student.csv")
            with open("student.csv", str1,encoding="utf-8") as f:
                if str1 == "w":
                    header = "姓名,密码\n"
                    f.writelines(header)
                for student in students:
                    f.write(f"{student['username']},{student['password']}\n")
                print("生成完毕,请退出系统查看")
        elif result == "2":
            str2 = IsExist("student.txt")
            with open("student.txt", str2,encoding="utf-8") as f:
                for student in students:
                    f.write(f"{student['username']},{student['password']}\n")
            print("生成完毕,请退出系统查看")
    elif choose == "6":
        print("退出系统")
        break
    else:
        print("输入错误,请重新输入")


结语

        我不知道接下来是进行python高级学习还是直接进入爬虫阶段的学习,明天看看进程在说吧!今天也是python小白,梦想是月入过万,mai起!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值