基于前期对python基础(分支语句,数据类型和简单函数定义)的学习,为了巩固知识和熟练运用,开始了学生信息系统的制作:
总体框架:
admindic = {'root': 'redhat'} studentdic = {'001': {'姓名': 'student', '性别': '1', '班级': '3班', '出生年月': '1995/10', '密码': 'student'}} print('学生信息管理系统'.center(50, '*')) view1 = ''' 1).管理员登陆 2).学生登陆''' view2 = ''' 1).管理员密码修改 2).添加学生信息 3).删除学生信息 4).修改学生信息 5).查询学生信息 6).查看所有学生的信息 7).退出系统''' view3 = ''' 1).查询个人信息 2).修改信息 3).退出系统''' print(view1) while 1: choice1 = int(input('请输入选择:')) if choice1 == 1: admin() break elif choice1 == 2: student() break else: print('请输入正确选择!')
系统分为两个模块:分别为管理员模块和学生模块
*****************管理员模块***********************
def admin():#定义一个管理员模块的函数 ###########登陆模块########### for enter_count in range(3): admin_name = input('输入用户名:').strip() if admin_name not in admindic: print('该用户不存在!请重新输入!') else: admin_passwd = input('请输入密码:').strip() if admin_passwd == admindic[admin_name]: print('登陆成功!') ##########操作模块########### while 1: print(view2) choice2 = int(input('请输入选择:')) ##########密码重置########## if choice2 == 1: while 1: newpasswd = input('请输入新密码:').strip() if not newpasswd: print('密码不能为空')#判断密码是否存在 else: break again = input('请再次输入密码:').strip()#再次输入确定 if newpasswd == again: admindic[admin_name] = newpasswd print('密码修改成功!请重新登陆!') break#修改成功,重新登陆验证 else: print('失败!两次密码不一致!') elif choice2 == 2: addstu()#信息添加函数 elif choice1 == 3: delstu()#信息删除函数 elif choice2 == 4: modstu()信息修改函数 elif choice2 == 5: referstu()信息显示函数 elif choice2 == 6: for i in studentdic: print('%s - %s' % (i, studentdic[i])) elif choice2 == 7: exit(0) else: print('请输入正确的选择!') else: print('密码错误!') else: print('错误输入三次!系统退出')
****1,系统的登陆****
****2,密码重置模块****
****3,信息添加模块****
########定义信息添加函数######### def addstu(): while 1: id1 = input("*学号:").strip() if not id1: print('学号不能为空!') elif id1 in studentdic: print('该学生信息已存在!请重新输入') else: break while 1: name = input('*姓名:').strip() if not name: print('姓名不能为空!') else: break while 1: gender = input('性别(1--男,2--女):').strip() if gender != '1' and gender != '2': if not gender: gender = None break else: print('请输入正确选择!') else: gender = int(gender) break cla = input('班级:').strip() if not cla: cla = None else: pass born = input('出生年月(year/month):').strip() if not born: born = None else: pass while 1: passwd = input('*密码:').strip() if not passwd: print('密码不能为空') else: break studentdic[id1] = {'姓名': name, '性别': gender, '班级': cla, '出生年月': born, '密码': passwd} print('信息添加成功!')
必填项目加入循化和判断语句,为空继续重新输入
****4,信息删除模块****
######定义信息删除函数####### def delstu(): while 1: delid = input('请输入要删除学生的学号:').strip() if delid not in studentdic: print('请输入正确的学号') else: print('学号%s的学生信息:%s' % (delid, studentdic[delid])) a = input('<1:删除 2:取消>').strip() if a == '1': del studentdic[delid] print('该学生信息已删除') break elif a == '2': break else: print('无效输入!')
****5,信息修改模块****
########定义信息修改函数############### def modstu(): while 1: modid = input('请输入要修改学生的学号:').strip() if modid not in studentdic: print('无该学生信息!') else: print('学号为%s学生的信息:%s:' % (modid, studentdic[modid])) print('请输入修改后的信息:') while 1: modname = input('*姓名:').strip() if not modname: print('姓名不能为空!') else: break while 1: modgender = input('性别(1--男,2--女):').strip() if modgender != '1' and modgender != '2': if not modgender: modgender = None break else: print('请输入正确选择!') else: modgender = int(modgender) break modcla = input('班级:').strip() if not modcla: modcla = None else: pass modborn = input('出生年月(year/month):') if not modborn: modborn = None else: pass while 1: modpasswd = input('*密码:') if not modpasswd: print('密码不能为空') else: break studentdic[modid] = {'姓名': modname, '性别': modgender, '班级': modcla, '出生年月': modborn, '密码': modpasswd} print('信息修改成功') break
****6,信息查询模块****
###########定义信息查询函数############## def referstu(): while 1: referid = input('请输入查询学生的学号:').strip() if referid not in studentdic: print('没有该学生信息!') else: print(studentdic[referid]) break
***************学生模块******************
###########定义一个学生操作板块的函数############## def student(): #######登陆模块######### for enter_count1 in range(3): student_name = input('请输入用户名(学号):').strip() if student_name not in studentdic: print('该用户不存在!请重新输入!') else: student_passwd = input('请输入密码:').strip() if student_passwd == studentdic[student_name]['密码']: print('登陆成功!') #########操作模块######### while 1: print(view3) choice2 = int(input('请输入选择:')) ####显示#### if choice2 == 1: print(studentdic[student_name]) ####修改#### elif choice2 == 2: cla = input('班级:').strip() if not cla: cla = None else: pass born = input('出生年月(year/month):').strip() if not born: born = None else: pass while 1: passwd = input('密码:').strip() if not passwd: print('密码不能为空') else: break a = input('<1:确认修改 2:取消>').strip() if a == '1': studentdic[student_name]['班级'] = cla studentdic[student_name]['出生年月'] = born studentdic[student_name]['密码'] = passwd print('信息已修改!') break elif a == '2': break else: print('无效输入!') elif choice2 == 3: exit(0) else: print('请输入正确的选择!') else: print('密码错误!') else: print('错误输入三次!系统退出')
********END*********