Python面向对象简单的学生系统

Stu_info=[]   # 学生的信息列表
class Student:
    __num=""
    __name=""
    __age=""
    __adress=""
    def __init__(self,num,name,age,adress):#初始化学生信息
        self.__name=name
        self.__num=num
        self.__adress=adress
        self.__age=age
    def print_Stu(selt):
        # 输出学生信息
            print('%s\t\t%s\t%s\t\t%s' % (selt.__num, selt.__name, selt.__age, selt.__adress))
    def  getMessage(self):
        return self.__num,self.__name,self.__age,self.__adress
    def  getName(self):
        return self.__name
    def  getNum(self):
        return self.__num
    def Up_date(self,num,name,age,adress):
        self.__name = name
        self.__num = num
        self.__adress = adress
        self.__age = age
        Write_data()

def Load_data():  # 读取txt文件
    f = open('Student.txt', 'r', encoding='utf-8')
    Stu_line = f.read().splitlines()  # 可以去掉换行符1
    for line in Stu_line:  # 每一行,即每一个函数
        temp = line.strip(' ')  # 移除头尾空格(括号里面什么都不写默认是去掉头尾空格和换行)(指定字符)
        temp2 = line.split(',')  # 通过逗号进行切片(指定字符)
        S=Student(temp2[0], temp2[1], temp2[2], temp2[3])  # 初始化对象
        Stu_info.append(S)  # 将对象放入列表中
    f.close()  #关闭文件

def Write_data():  # 存入文件
    f = open('Student.txt', 'w', encoding='utf-8')
    for line in range(0, len(Stu_info)):  # 遍历Stu_info
        num,name,age,address=Stu_info[line].getMessage()
        f.writelines('%s,%s,%s,%s\n' % (num, name, age, address))  # 将学生的信息存入文件
    print('保存成功')
    f.close()


def create_stu():
    print("请创建一个账号:")
    num=input("学号:")
    name=input("姓名:")
    age=input("年龄:")
    address=input("地址:")
    S = Student(num,name,age,address)  # 初始化对象
    Stu_info.append(S)
    Write_data()
    into_system(S)
def into_system(S):
    number=print_menu2(S)
    if(number==1):
        num = input("学号:")
        name = input("姓名:")
        age = input("年龄:")
        adress = input("地址:")
        S.Up_date(num,name,age,adress)
    elif(number==2):
        print('欢迎下次使用.....')
def print_menu1():
    print("欢迎来到瑞骑管理系统V2.0")
    print("1.登录系统")
    print("2.注册系统")
    print("3.退出系统")
    num=int(input())
    return num
def print_menu2(S):
    print(S.getName()+"同学,您可以有以下功能:")
    print("1.修改信息")
    print("2.退出系统")
    num=int(input())
    return num
if __name__=='__main__':
    Load_data()
    num=print_menu1()
    if(num==1):
        number=input('请输入您的学号:')
        for index in range(0, len(Stu_info)):
            if number in Stu_info[index].getNum():
                into_system(Stu_info[index])
    elif(num==2):
        create_stu()
    else:
        print('欢迎下次使用.....')





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值