Python:学生管理系统

这篇博客介绍了用Python编写的 student 管理系统,包括登录、添加、查询、删除、修改和显示学生信息等功能。系统允许用户在任意时刻输入 'cancel' 取消当前操作。目前待改进的地方是密码在输入时以*号隐藏。博主欢迎各位读者提出宝贵意见。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

使用python语言编写的学生管理系统,主要功能有登录系统、添加学生信息、查询学生信息、删除学生信息、修改学生信息、显示所有学生信息

用户在输入的任意位置都可以输入cancel以取消当前操作

待改进

用户注册或登录时,密码以*显示

主程序

# coding=utf8
# 从我们写好的函数文件中,导入所有函数
from tools import *
from time import sleep

# 定义一个用户列表,用于存放系统用户的用户名及密码:在列表内部嵌套字典
users = []

# 只要用户不选择退出,就一直执行while循环体内的语句
while True:
    sleep(1)
    # 调用主菜单函数,向用户展示菜单
    main_menu()
    # 提醒用户输入需要操作的数字
    operate = input('请选择需要进行的操作(1-3): ')
    if operate.isdigit() != True:
        print('请输入1-3的数字!!')
    elif operate == '1':
        login(users)
    elif operate == '2':
        register(users)
    elif operate == '3':
        logout()
    else:
        print('请检查输入!!!')

函数文件

# coding=utf8
from time import sleep
from prettytable import PrettyTable


def main_menu():
    '''
    向用户展示菜单
    '''
    print('-' * 22)
    print('学生管理系统'.center(18))
    print('    1 登 录 系 统\n'
          '    2 注 册 用 户\n'
          '    3 退 出 系 统')
    print('-' * 22)
    print('输入cancel可取消操作')


def register(l):
    '''
    用户注册,将用户输入的信息存入用户列表中
    :param l: 用户列表
    :return: 返回值是新增了一条用户信息的列表
    '''

    def account():
        '''
        提醒用户输入账户名
        :return:返回值是一个符合要求的账户名
        '''
        while True:
            acc = input('请输入账户名(3-6位数字、字母): ')
            # acc.isalnum()  作用是判断字符串的组成方式是否为 数字、字母、数字及字母 中的一种,即 判断该字符串是否只包含数字和字母
            if (len(acc) < 3) or (len(acc) > 6) or (acc.isalnum() != True):
                print('请检查输入!!!(账户名由3-6位数字、字母组成,不包含标点符号及空格)')
            else:
                return acc

    def password():
        '''
        提醒用户输入密码
        :return:返回值是一个符合要求的密码
        '''
        while True:
            pw = input('请输入密码(6-12位数字、字母): ')
            if (len(pw) < 6) or (len(pw) > 12) or (pw.isalnum() != True):
                print('请检查输入!!!(密码由6-12位数字、字母组成,不包含标点符号及空格)')
            else:
                return pw

    def confirm_password():
        '''
        提醒用户再次输入密码并验证是否与第一次输入的值一致
        :return:返回值是一个与第一次输入的密码相同的密码
        '''
        pw = password()
        while True:
            con_pw = input('请再次输入密码(与第一次输入一致): ')
            if con_pw != pw:
                print('两次输入密码不一致!!!')
            else:
                return pw

    flag = True
    while flag:
        # 定义一个空字典,用于存放用户信息
        info = {}
        info['account'] = account()
        if info['account'] == 'cancel':
            break
        info['password'] = confirm_password()
        if info['password'] == 'cancel':
            break
        l.append(info)
        return l


def login(l):
    '''
    用户登录,在传入的用户列表中查询用户信息,有则登录,无则提示账号不存在
    :param l:该参数为用户列表
    :return:返回值为当前已登录的账户名
    '''
    while True:
        # 设置这个参数,是为了在for循环结束后判断有没有找到用户输入的账户名
        # 我们在找到账户名后,会将flag的值设置为False
        flag = True

        lo_account = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值