基于前期对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*********