• 学生选课系统,初版


    import pickle
    class kech:
    '''
    课程的的名字,价格,时间周期,代课老师
    '''
    def __init__(self,courses,price,cycle,teacher):
    self.Courses = courses
    self.Price = price
    self.Cycle = cycle
    self.Teacher = teacher
    class Xs:
    '''
    学生的名字
    年龄,性别
    '''
    def __init__(self,name,grade):
    self.Name = name
    self.grade = grade
    def selected(self):
    with open("课程信息","rb")as f:
    while True:
    try:
    zhmm = pickle.load(f)
    yield zhmm
    except EOFError:
    return False
    def xuzekc(self):
    for i in self.selected():print(i.__dict__)
    a = input("请输入课程名字 : ").strip()
    for i in self.selected():
    if i.Courses == a:
    self.course = i.__dict__
    with open("学生信息", "ab")as f:
    pickle.dump(self, f)
    print("选择成功")
    def chakask(self):
    with open("学生信息","rb")as f:
    while True:
    try:
    zhmm = pickle.load(f)
    yield zhmm
    except EOFError:
    return False
    class Gly:
    '''
    1、创建课程
    2、创建学生学生账号
    3、查看所有课程
    4、查看所有学生
    5、查看所有学生的选课情况
    6、退出程序
    '''
    def __init__(self,name):
    self.name = name
    def found(self):#1、创建课程
    courses = input("请输入创建的课程 : ")
    price = input("输入课程价格 : ")
    cycle = input("请输入课程周期 : ")
    teacher = input("请输入授课老师 : ")
    a = kech(courses, price, cycle, teacher)
    with open("课程信息","ab")as f:
    pickle.dump(a,f)
    print("%s课程创建成功"%(a.__dict__))
    def Create_account(self):
    Account1 = input("学生账号 : ")
    Code = input("学生密码 : ")
    name = input("学生姓名 : ")
    grade = input("学生班级 : ")
    with open("账号密码","ab")as f:
    s = {"ID":"学生","账号":Account1,"密码":Code,"姓名":name,"班级":grade}
    print(s,"33[0;33m注册成功33[0m")
    pickle.dump(s,f)
    def cksuoykc(self):
    with open("课程信息","rb")as f:
    while True:
    try:
    zhmm = pickle.load(f)
    yield zhmm
    except EOFError:
    return False
    def ckansuoyouxues(self):
    for i in dqwenjian():
    if i["ID"] == "学生":
    print(i["姓名"],i["班级"])
    def cksuoyouxsxk(self):
    with open("学生信息","rb")as f:
    while True:
    try:
    zhmm = pickle.load(f)
    yield zhmm
    except EOFError:
    return False
    def glyzc():#注册管理员
    Account = input("33[0;31mInput virus : 33[0m").strip()
    Password= input("33[0;31mSelect the virus : 33[0m").strip()
    name = input("33[0;31mName entry : 33[0m").strip()
    with open("账号密码","ab")as f:
    s = {"ID": "管理员", "账号": Account, "密码": Password,"姓名":name}
    pickle.dump(s,f)
    def dqwenjian():#打开文件进行读取
    with open("账号密码","rb")as f:
    while True:
    try:
    zhmm = pickle.load(f)
    yield zhmm
    except EOFError:
    return False
    def pad(zh,m_m):#判断输入账号密码是否存在
    for i in dqwenjian():
    if i["账号"] == zh and i["密码"] == m_m:
    if i["ID"] == "管理员":
    print("33[0;32m Welcome administrator login33[0m")
    return i
    else:
    print("Welcome to")
    return i
    else:
    print("33[0;31m Wrong account or password33[0m")
    def guanly(xx): #管理员操作界面
    while True:
    print("33[0;35m1、创建课程 "
    "2、创建学生学生账号 "
    "3、查看所有课程 "
    "4、查看所有学生 "
    "5、查看所有学生的选课情况 "
    "6、退出程序33[0m")
    name = Gly(xx["姓名"])
    print("欢迎33[0;31m%s33[0m登录管理员界面!!!"%name.name)
    num = input("选择你要执行的序号>>>").strip()
    if num == "1":
    name.found()
    if num == "2":
    name.Create_account()
    if num == "3":
    for i in name.cksuoykc():print("33[0;36m",i.__dict__,"33[0m")
    if num == "4":
    name.ckansuoyouxues()
    if num == "5":
    for i in name.cksuoyouxsxk():print(i.__dict__)
    if num == "6":
    return
    def xueshen(xx):#学生操作界面
    print("欢迎%s同学登录学生界面!!!" % xx["姓名"])
    while True:
    print("33[0;35m1、查看所有课程 "
    "2、选择课程 "
    "3、查看所选课程 "
    "4、退出程序33[0m")
    xsxx =Xs(xx["姓名"],xx["班级"])
    a =input("输入要执行的序号 : ")
    if a == "1":
    for i in xsxx.selected():print(i.__dict__)
    if a == "2":
    xsxx.xuzekc()
    if a == "3":
    for i in xsxx.chakask():
    if i.Name == xsxx.Name:
    print(i.__dict__)
    if a == "4": return
    while True:
    zh = input("33[1;32;40m账号>>>33[0m").strip()
    m_m = input("33[1;32;40m密码>>>33[0m").strip()
    if zh =="Looking for virus" and m_m == "#@!@!#":
    glyzc()
    else:
    xx =pad(zh,m_m)
    if xx["ID"] == "管理员":
    guanly(xx)
    break
    elif xx["ID"] == "学生":
    xueshen(xx)
    break
  • 相关阅读:
    Java虚拟机:二、Java内存区域
    Filter模块插件的详细介绍
    Input模块插件的详细介绍
    Logstash的简单介绍
    Logstash的下载安装
    安装Ruby和logstash插件
    Kibana安装与web界面
    ElasticSearch的下载安装
    Flink项目点 pom文件
    IDEA的配置
  • 原文地址:https://www.cnblogs.com/F18866/p/10004011.html
Copyright © 2020-2023  润新知