【python】学生信息管理系统

import StudentEntity
from DateAccess import*
students=[]
def menu():
    print('-' * 40)
    print("欢迎使用学生通讯管理系统v2.0")
    print("[1] 增加学员信息")
    print("[2] 删除学员信息")
    print("[3] 打印学员信息")
    print("[4] 退出系统")
    print('-' * 40)
def add(students):
    no=input("请输入学员学号:")
    name=input("请输入学员姓名:")
    age=input("请输入学员年龄:")
    contact=input("请输入学员联系方式:")
    student=Student(no,name,age,contact)
    students.append(student)
    print("{}学员的信息已经成功添加!".format(student.name))
def remove(students):
    no=input("请输入要删除的学员学号:")
    for x in students:
        if x.no==no:
            print("学号为{}的{}同学被移除".format(x.no,x.name))
            students.remove(x)
            break
    else:
        print("没有找到该学员信息,请重试:")
if __name__=="__main__":
    students=loadStudents()
    while True:
        menu()
        op=int(input("请输入要进行的操作:"))
        if op==1:
            add(students)
        elif op==2:
            remove(students)
        elif op==3:
            for x in students:
                print(x)
        elif op==4:
            print("感谢使用本系统,期待下次光临!")
            break
        else:
            print("输入错误,请重新输入要操作的编号")
saveStudents(students)

这是main文件下的内容,如图所示,我们调用了DateAccess模块和StudentEntity,分别用来保存输入的学生信息和输出学生的信息。

from StudentEntity import Student
def loadStudents():
    file=open("student.txt","r",encoding="utf-8")
    lines=file.readlines()
    students=[]
    for line in lines:
        a=line.split(",")
        students.append(Student(a[0],a[1],int(a[2]),int(a[3].strip('\n'))))
    file.close()
    return students
def saveStudents(students):
    file=open("student.txt","w",encoding="utf-8")
    for x in students:
        file.write(str(x)+"\n")
    file.close()
if __name__=="__main__":
    a=loadStudents()
    print(a)
    a.append(Student("2024","赵六",21,20213011001))
    print(a)
    saveStudents(a)

在DateAccess内,我们调用文件student.txt,通过设置空列表并在列表内部输入元素的方式,存贮学生信息。这也就是loadstudent函数的核心思维。而在savestudent内,我们写入之前存在列表内的学生信息。

class Student:
    def __init__(self,no,name,age,contact):
        self.no=no
        self.name=name
        self.age=age
        self.contact=contact
    def __str__(self):
        return "{},{},{},{}".format(self.no,self.name,self.age,self.contact)
if __name__=="__main__":
    li=Student("2021","李四",20,123456)
    print(li)

在StudentEntity内,设置一个叫student的类,在__init__内我们给出四个对象的属性,以__str__控制学生信息的输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值