# 学生管理系统
import this
class Student :
global student_list;
student_list = {1: {'id':1, 'num' : '123453', 'name': '小红', 'sex' : '女', 'age' : '18', 'pro': '语文', 'fraction' : '120'}};
# 格式化字典数据
def get_data (self, data) :
count = 0;
if type(data) == dict :
for k,v in data.items() :
count += 1;
# 判断是否下级还是 字典
if type(v) == dict :
if count == 1 :
for childK in v.keys():
print(f' | {childK}', end="");
print(' |', end="");
print("");
for childV in v.values():
print(f' | {childV}', end="");
print(' |', end="");
print("");
else :
print("格式错误")
elif type(data) == list :
for k in data :
print(f'| {k} ', end=' |');
else :
print(data);
def add_student (self) :
student_attr = {};
# 输入 学生 名称 学号 性别 年龄 学科 分数
st_num = input("请输入学生学号: ");
st_name = input("请输入学生名称: ");
st_sex = input("请输入学生性别: ");
st_age = input("请输入学生年龄: ");
st_pro = input("请输入学生学科: ");
st_fraction = input("请输入学生分数: ");
if len(student_list) == 0 :
id = 1;
else:
key_max = max(student_list.keys());
id = int(student_list[key_max]['id'])+1;
student_attr = {
# 判断 是否是第一个如果不是 就去获取最后面的一个值中的id编号
'id' : id,
'num' : st_num,
'name' : st_name,
'sex' : st_sex,
'age' : st_age,
'pro' : st_pro,
'fraction' : st_fraction
};
student_list[student_attr['id']]= student_attr;
def get_student(self ,num = 0):
if num != 0:
self.get_data(student_list[num]) ;
else:
self.get_data(student_list);
def save_student(self, id, kwargs) :
# 判断是否是 纯数字的字符串 和 参数kwargs 是个字典
if id.isdigit() == False or type(kwargs) != dict :
return "格式错误";
id = int(id); # 对应83行
if id == 0:
return False;
else :
print(f'{type(kwargs)} {kwargs}')
for k,v in kwargs.items() :
# print(f'修改id:{id},修改项:{k},修改结果{student_list[1]}')
# 字典 id 字段 需要是int 否则 报错?
student_list[id][k] = v;
return True;
def del_student (self) :
id = input("请输入需要移除的ID号: ")
if id :
id = int(id);
type_s = input(f"您是否确认删除改项 {student_list[id]} 输入1 确认,输入其他取消删除");
if type_s == '1':
del student_list[id];
return "操作成功!";
else:
return False;
else:
return "您的输入有误";
# get_data(student_list);
# exit();
# add_student ()
# 执行代码块
Student = Student();
while 1 == 1 :
type_s = input("请输入您要操作的内容:(1、添加学生,2、修改学生,3、移除学生,4、查询学生内容)");
if int(type_s) == 1 :
Student.add_student();
elif int(type_s) == 2 :
# 先让别人看看现在的数据
Student.get_student();
id = input("请输入需要修改学生的ID号");
data = {};
while 1 == 1 :
attr_name = input("请输入需要修改的项,")
attr_value = input("请输入修改内容,")
data[attr_name] = attr_value;
begin = input("您是否继续修改其他项: (1、输入 1 是 ,其他:否)");
if begin != '1' :
break;
print(data);
bool = Student.save_student(id,data);
if bool == True :
print("修改成功");
else :
print("修改fail");
elif int(type_s) == 3 :
# 先让别人看看现在的数据
Student.get_student();
res_del = Student.del_student();
if res_del != False :
print(res_del);
elif int(type_s) == 4 :
Student.get_student();
else :
print("您输入的有误")
python初学者(学生管理系统)
最新推荐文章于 2024-07-22 15:15:29 发布