python与数据思维基础笔记_Python基础学习笔记

importosfrom student_system importstudent_modelclassStudentSystem(object):def __init__(self):#定义类属性的学生列表

self.student_list = [] #list()

#显示功能菜单

@staticmethoddefshow_menu():print("----学生管理系统V1.0----")print("1. 添加学生")print("2. 修改学生")print("3. 删除学生")print("4. 查询学生")print("5. 显示所有学生")print("6. 退出")#添加学生的功能方法

defadd_student(self):

name= input("请输入您的姓名:")

age= input("请输入您的年龄:")

sex= input("请输入您的性别:")

stu=student_model.Student(name, age, sex)

self.student_list.append(stu)print("添加成功")#显示所有学生的功能方法

defshow_all_student(self):for index, stu inenumerate(self.student_list):#学号 = 下标 + 1

num = index + 1

print("学号: %d 姓名: %s 年龄: %s 性别: %s" %(num,

stu.name,

stu.age,

stu.sex))#修改学生信息的功能方法

defmodify_student(self):for index, stu inenumerate(self.student_list):#学号 = 下标 + 1

num = index + 1

print("学号: %d 姓名: %s 年龄: %s 性别: %s" %(num,

stu.name,

stu.age,

stu.sex))

student_no= int(input("请输入您要修改学生信息的学号:"))#根据学号计算对应的下标

index = student_no - 1

#判断index是否是一个合法的下标

if 0 <= index

stu =self.student_list[index]#接收用户输入的最新数据

new_name = input("请输入您修改后的姓名:")

new_age= input("请输入您修改后的年龄:")

new_sex= input("请输入您修改后的性别:")#修改指定字典里面的信息

stu.name =new_name

stu.age=new_age

stu.sex=new_sexprint("修改成功!")else:print("请输入合法学号!")#删除学生信息的功能方法

defremove_student(self):for index, stu inenumerate(self.student_list):#学号 = 下标 + 1

num = index + 1

print("学号: %d 姓名: %s 年龄: %s 性别: %s" %(num,

stu.name,

stu.age,

stu.sex))

student_no= int(input("请输入要删除学生的学号:"))#根据学号计算对应下标

index = student_no - 1

#判断index是否是一个合法的下标

if 0 <= index

delself.student_list[index]print("删除成功!")else:print("请输入合法的学号!")#查询学生的功能方法

defquery_student(self):

name= input("请输入您要查询学生的姓名:")#遍历学生列表,获取每一个学生字典信息

for index, stu inenumerate(self.student_list):#根据学生字典取出姓名,判断是否和用户输入的姓名一致

if stu.name ==name:#生成学号

num = index + 1

print("学号: %d 姓名: %s 年龄: %s 性别: %s" %(num,

stu.name,

stu.age,

stu.sex))break

else:print("对不起,您查询的学生信息不存在!")#保存学生对象列表数据到文件

defsave_data(self):

with open("student_list.data", "w", encoding="utf-8") as file:

student_dic_list= [stu.__dict__ for stu inself.student_list]#print(student_dic_list)

file.write(str(student_dic_list))#加载缓存文件中的历史数据

defload_data(self):#判断文件是否存在

if os.path.exists("student_list.data"):

with open("student_list.data", "r", encoding="utf-8") as file:

stu_dict_list=file.read()

new_stu_list= [Student(**stu_dict) for stu_dict ineval(stu_dict_list)]

self.student_list.extend(new_stu_list)#程序启动的入口方法

defstart(self):#加载历史数据,只加载一次即可

self.load_data()whileTrue:#显示功能菜单

self.show_menu()#2. 接收用户输入的功能选项

menu_option = input("请输入您需要的功能选项:")#3. 判断用户输入的功能选项

if menu_option == "1":#print("执行添加学生的功能")

self.add_student()elif menu_option == "2":#print("执行修改学生的功能")

self.modify_student()elif menu_option == "3":#print("执行删除学生的功能")

self.remove_student()elif menu_option == "4":#print("执行查询学生的功能")

self.query_student()elif menu_option == "5":#print("执行显示所有学生的功能")

self.show_all_student()elif menu_option == "6":print("退出系统")#退出程序之前,保存数据到文件

self.save_data()break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值