Python实现注册登录功能

 更新时间:2022年02月08日 12:07:28   作者:程序改变世界~  
这篇文章主要为大家详细介绍了Python实现注册登录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

用Python写个注册登录功能,供大家参考,具体内容如下

本文是用Python写一个注册登录功能,难度不大,很适合练手
主要就是用列表和字典,以及逻辑判断
用到的第3方库模块是time模块,以及re(正则表达式)模块
这里使用time模块就是为了通过sleep方法,让程序运行有进程感,不是一下子蹦出所有信息
使用re模块就是用于判断密码的复杂性,我们注册软件系统判断我们的密码是否足够复杂就是通过正则表达式去判断的

首先第1步就是导入这2个模块,即

import time
import re

之后需要1个列表用于存储注册的id,需要一个字典,来将ID与密码绑定在一起,因为字典是key:value格式,以ID作为key,密码(password)作为value,就实现了绑定

代码可表示为

user_id=[] #存储用户id
user_dict={} #将id与密码绑定

之后就要询问用户是否注册过账号,如果没注册,就提示用户注册账号,可以通过一个变量接收用户的选择,然后进行对应的操作

choice=input('您是否注册过账号 没有请注册 1:注册 2:登录 3:退出系统')

输入1,就进入到注册界面,注册首先需要输入用户名,输入密码,最后提示用户注册成功
然后需要将用户的id加入到user_id中,用字典存储用户的id和密码,即

user_name=input('请输入用户名')
password=input('请输入密码')
user_id.append(user_name)
for item in user_id:
    if item not in user_dict:
        user_dict[item]=password
print('注册成功!)

注册好就需要登录了,这个过程相比于注册稍稍麻烦些
首先,需要判断用户输入的id是否注册过(也就是输入的id是否在user_id中)
之后,若存在,还需匹配密码正确与否,正确才可登录。
但是,可能用户会忘记密码,虽然我们可以通过字典查看密码并打印给用户,但是一般不建议这么做,尽量建议用户修改密码,以及用户输入了未注册的ID,需要建议用户注册,提高效率。
判断元素是否在列表中只需要i in list即可,若为真,则元素存在于列表中,反之不在

while 1:
    name=input('请输入用户名')
    key=input('请输入密码')
    if name in user_id:
        if user_dict[name]==key:
            print('登录成功')
            break
        else:
            print('密码错误 请检查好输入')
            q=input('您是否选择更改密码 输入y更改 输入其他退出')
            if q=='y':
                new_password=input('请输入新密码')
                user_dict[name]=new_password
                print('密码修改成功!')
            else:
                    break
    else:
        print('用户名不存在 请检查好输入')
        r=input('您是否需要注册账号 输入1注册 其他退出')
        if r=='1':
            user_login=input('请输入要注册的用户名')
            password_login=input('请输入您的登录密码')
            user_id.append(user_login)
            for num in user_id:
                if num not in user_dict:
                     user_dict[user_login]=password_login
                    print('注册成功')
         else:
             break

值得注意的是,一定要先判断id是否存在,而不是直接判断密码,因为没注册的id在字典中没有对应的键,会报错误Keyerror

之后就是退出程序了,建议5s缓冲在退出,不至于太突然 可以使用time.sleep()方法

print('感谢您的使用,程序将在5秒后退出')
for i in range(5):
    time.sleep(1)
    print('程序将在{}秒后退出'.format(5-i))

至此,项目功能就全部完成了,下面是项目的源代码:
上面没有讲正则表达式,源代码中带有正则表达式判断是否含有字母

import time
print('----------感谢您使用本系统------------')
user_id=[]
user_dict={}
time.sleep(1)
while 1:
    choice=input('您是否注册过账号 没有请注册 1:注册 2:登录 3:退出系统')
    if choice=='1':
        user_name=input('请输入用户名')
        while 1:
            password=input('请输入密码 需要包含字母')
            p=re.compile('^.*[A-Z a-z]+.*$')
            if p.match(password):
                break
            else:
                print('密码不够复杂 重新输入')
        user_id.append(user_name)
        for item in user_id:
            if item not in user_dict:
                user_dict[item]=password
    elif choice=='2':
        while 1:
            name=input('请输入用户名')
            key=input('请输入密码')
            if name in user_id:
                if user_dict[name]==key:
                    print('登录成功')
                    break
                else:
                    print('密码错误 请检查好输入')
                    q=input('您是否选择更改密码 输入y更改 输入其他退出')
                    if q=='y':
                        while 1:
                            new_password1=input('请输入新密码')
                            new_password2=input('请确认新密码')
                            if new_password_1==new_password2:
                                user_dict[name]=new_password1
                                break
                            else:
                                print('两次密码输入不一致,请重新输入')
                        print('密码修改成功!')
                    else:
                        break
            else:
                print('用户名不存在 请检查好输入')
                r=input('您是否需要注册账号 输入1注册 其他退出')
                if r=='1':
                    user_login=input('请输入要注册的用户名')
                    password_login=input('请输入您的登录密码')
                    user_id.append(user_login)
                    for num in user_id:
                        if num not in user_dict:
                            user_dict[user_login]=password_login
                    print('注册成功')
                else:
                    break
                    
    else:
        print('感谢您的使用,程序将在5秒后退出')
        for i in range(1,5):
            time.sleep(1)
            print('程序将在{}秒后退出'.format(5-i))
        break

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用Python写一个量化股票提醒系统

    使用Python写一个量化股票提醒系统

    这篇文章主要介绍了小白用Python写了一个股票提醒系统,迷你版量化系统,完美的实现了实时提醒功能,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Tensorflow2.1 完成权重或模型的保存和加载

    Tensorflow2.1 完成权重或模型的保存和加载

    这篇文章主要为大家介绍了Tensorflow2.1 完成权重或模型的保存和加载,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • python 爬取豆瓣网页的示例

    python 爬取豆瓣网页的示例

    这篇文章主要介绍了python 爬取豆瓣网页的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python使用plt.boxplot() 参数绘制箱线图

    Python使用plt.boxplot() 参数绘制箱线图

    这篇文章主要介绍了Python使用plt.boxplot() 参数绘制箱线图 ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • OpenCV 图像绘制的实现

    OpenCV 图像绘制的实现

    本文主要介绍了OpenCV 图像绘制的实现,主要包括直线,圆,多边形和自定义图形等,具有一定的参考价值,感兴趣的可以了解一下
    2021-07-07
  • Django+Nginx+uWSGI 定时任务的实现方法

    Django+Nginx+uWSGI 定时任务的实现方法

    本文主要介绍了Django+Nginx+uWSGI 定时任务的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 3分钟学会一个Python小技巧

    3分钟学会一个Python小技巧

    Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串,今天小编给大家带来了一个Python小技巧,感兴趣的朋友一起看看吧
    2018-11-11
  • pycharm 关掉syntax检查操作

    pycharm 关掉syntax检查操作

    这篇文章主要介绍了pycharm 关掉syntax检查操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 简单的命令查看安装的python版本号

    简单的命令查看安装的python版本号

    在本篇内容里小编给大家整理的是关于简单的命令查看安装的python版本号的文章,需要的朋友们可以参考下。
    2020-08-08
  • Python基础之字典常见操作经典实例详解

    Python基础之字典常见操作经典实例详解

    这篇文章主要介绍了Python基础之字典常见操作,结合实例形式详细分析了Python基本功能、创建、内置函数与相关使用技巧,需要的朋友可以参考下
    2020-02-02

最新评论