首页 > 编程语言 >Python实现简单学生登陆系统

Python实现简单学生登陆系统

时间:2024-07-23 23:55:04浏览次数:17  
标签:username 用户名 Python self 学生 students 登陆 print password

 

代码:

import hashlib

class Student:
    def __init__(self, username, password):
        # 初始化学生对象,存储用户名和加密后的密码
        self.username = username
        self.password = hashlib.sha256(password.encode()).hexdigest()

    def check_password(self, password):
        # 检查输入的密码是否与存储的加密密码匹配
        return self.password == hashlib.sha256(password.encode()).hexdigest()

class StudentLoginSystem:
    def __init__(self):
        # 初始化学生登录系统,存储所有注册的学生对象
        self.students = {}

    def register(self, username, password):
        # 注册新用户,如果用户名已存在则提示错误
        if username in self.students:
            print("用户名已存在,请选择其他用户名。")
        else:
            self.students[username] = Student(username, password)
            print("注册成功!")

    def login(self, username, password):
        # 用户登录,验证用户名和密码
        if username in self.students:
            if self.students[username].check_password(password):
                print("登录成功!")
            else:
                print("密码错误,请重试。")
        else:
            print("用户名不存在,请先注册。")

# 示例使用
system = StudentLoginSystem()

while True:
    print("\n1. 注册\n2. 登录\n3. 退出")
    choice = input("请输入选项: ")

    if choice == '1':
        username = input("请输入用户名: ")
        password = input("请输入密码: ")
        system.register(username, password)
    elif choice == '2':
        username = input("请输入用户名: ")
        password = input("请输入密码: ")
        system.login(username, password)
    elif choice == '3':
        print("退出系统。")
        break
    else:
        print("无效选项,请重试。")

运行结果:

See you next time

标签:username,用户名,Python,self,学生,students,登陆,print,password
From: https://blog.csdn.net/2401_82455776/article/details/140620555

相关文章

  • python猜数字游戏
    好的,下面是一个简单的小游戏代码示例,使用Python编写。这个游戏是一个猜数字游戏,玩家需要猜一个1到100之间的随机数。importrandomdefguess_number_game():print("欢迎来到猜数字游戏!")print("我已经想好了一个1到100之间的数字,请你猜一猜。")secret_num......
  • 【Python正则表达式】:文本解析与模式匹配
    文章目录1.正则表达式2.re模块3.修饰符3.元字符3-1字符匹配元字符3-2重复次数限定元字符3-3字符集合匹配元字符3-4分组元字符3-5边界匹配元字符3-6字符类别匹配元字符4.技巧4-1贪婪与非贪婪5.案例1.正则表达式正则表达式面向什么样的问题?1、判断一个字......
  • 仅需增加2行代码,Python量化策略速度提升20+倍!
    今天分享一个Python量化策略加速的小技巧,不用修改原有代码,只需在原有代码里新增2行,策略执行速度便可能提高20+倍,正文开始~现如今,无论是入门量化投资,还是做数据分析、机器学习和深度学习,Python成为了首选编程语言,直观的原因就是容易上手和资源丰富,但Python有个根深蒂固的标签,......
  • Python基础-Anaconda,Spyder,数据类型
    1、Python与Anaconda在想使用Python之前需先安装Python,以及PythonIDE和Python的库,而用Anaconda就可以一键安装。Anaconda包含了Python,常用的python库以及IDE,还具有强大的环境和python包的管理能力。PythonIDE(IntegratedDevelopmentEnvironment,集成开发环境)是一个为开发......
  • 计算机类专业学生重要竞赛刷题网站
    团队队员常用:Codeforceshttp://codeforces.com/problemset牛客网https://www.nowcoder.com/ta/acm-training/刷题链接:http://poj.org/pojhttp://www.spoj.com/http://acm.hdu.edu.cn/hduhttps://cn.vjudge.net/vj(包含大部分网站的题库)http://www.51nod.com51N......
  • 学生选课表练习(面试题)
    所有表都放在最后1.查询”01“课程比”02“课程成绩高的学生的信息及课程分数SELECTDISTINCTstudent.*,t1.scoreFROMstudentINNERJOIN(SELECT*FROMscWHEREsc.Cid=1)t1ONt1.Sid=student.SidINNERJOIN(SELECT*FROMscWHEREsc.Cid=2)t2ON......
  • python实现图像特征提取算法2
    python实现广义Hough变换算法、Hough变换算法1.广义Hough变换算法详解算法步骤Python实现详细解释优缺点2.Hough变换算法详解算法步骤Python实现详细解释优缺点实现广义Hough变换算法(GeneralizedHoughTransform)可以用于检测任意形状的......
  • 使用Python自动备份MC服务器存档至轻量COS
    在存档意外炸档时,备份就显得尤为重要。本文以Minecraft1.18.2为例,教你如何使用轻量搭建一个MC服务器,并定时将存档备份入轻量COS,节省本地空间。前期准备一台安装了Linux原版系统的轻量(因为目前轻量COS仅支持挂载Linux系统镜像,不支持容器或自定义镜像)一个和轻量大区相同的轻......
  • python中的数据类型-适合新手-比较完善(写了好久……)
    作者的话        首先,我先申明,以下思路仅为个人理解,如有不同,望指导,谢谢。        数据类型它是什么,有什么用,怎么用就是它的全部内容,知识框架串联起来之后就是这三部分内容,没有什么特别的东西就只是单纯的可以培养这个习惯,之后就可以很轻松的学习使用之后串联......
  • 090、Python 写Excel文件及一些操作(使用xlwt库)
    要写Excel文件,我们需要使用第三方库。xlwt库是一个常用的写Excel的第三方库,它同时支持.xls和.xlsx。要使用第三方库,首选需安装:pipinstallxlwtxlutils安装完成后,我们就可以引入库来进行相关操作了。使用xrwt库写Excel文本,可以按以下步骤操作:1、第一步:创建工作簿(Wor......