学生信息管理系统---python基础练习篇

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

猜你喜欢

转载自blog.csdn.net/wl_python/article/details/80165857