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

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

(0)

相关推荐

  • Python + Tkinter连接本地MySQL数据库简单实现注册登录

    项目结构: 源代码: # -*- coding: utf-8 -*- """ @date:  2022/01/09 17:40 @author: Anker @python:v3.10 """   import tkinter as tk import tkinter.messagebox import pymysql   # 定义要执行的创建表的SQL语句 test_sql = """              

  • Python +Selenium解决图片验证码登录或注册问题(推荐)

    1. 解决思路 首先要获得这张验证码的图片,但是该图片一般都是用的js写的,不能够通过url进行下载. 解决方案:截图然后根据该图片的定位和长高,使用工具进行裁剪 裁剪完毕之后,使用工具解析该图片. 2. 代码实现 2.1 裁剪出验证码图片 裁剪图片需要使用 Pillow 库,进入pip包路径后输入安装命令pip install Pillow: 之前安装的时候忘记了截图,只能够截一张安装后的图片了 ╰(:з╰∠)_ 安装完成后,代码实现方式如下: #coding=utf-8 from selen

  • 用Python实现web端用户登录和注册功能的教程

    用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9a-f]{32}$') @api @post('/api/users') def register_user(): i = ctx.request.input(name='', email='', password='') name = i.name.strip() email = i.email.

  • Python实现注册登录系统

    表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等. 表单按钮:包括提交按钮.复位按钮和一般按钮:用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作.而在HTML里面,在地址栏输入一个URL然后打开,这样发送的是一个get请求,若是要使用POST请求,就需要使

  • Python实现注册、登录小程序功能

    主要实现功能 1.用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误 2.用户名输入正确后,进行密码匹配.输入密码正确则登录成功,否则重新输入. 3.连续输错三次密码则该用户名被锁,退出程序 -------------------------------------------------- 在程序文件夹下建立一个用户名.密码的文件 :user_np.txt和一个用于存放被锁用户名的文件:lock.txt ---------------------------------

  • Python登录注册验证功能实现

    简介 本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数.判断语句.循环语句.文件操作等. 项目流程 运行代码之后,输出登录或者注册选项. 当选择登录之后,输入用户名密码,如果该用户信息没有注册过,就输出登录失败,如果该用户信息已经注册过,就显示登录成功. 当选择注册之后,输入用户名密码,如果该用户信息没有注册过,就输出注册成功,如果该用户信息已经注册过,就显示用户名已经存在,注册失败. 代码流程 运行代之后首先执行main()函数,mian()函数中接收用户输入的用

  • python实现登录与注册系统

    本文实例为大家分享了python实现登录与注册系统的具体代码,供大家参考,具体内容如下 实现功能 1.调用文本文件里的用户信息 2.可以将注册信息存储在文本文件里 3.实现了密码格式的限制 具体用户信息将如下格式存储在txt文本文件下 转换后便于代码利用的格式(列表中嵌套字典) 具体代码如下: #-*- coding=utf8 -*- # @author:sololi # date: 2020/11/3 # 文件说明 : import sys def register(username,pass

  • Python3 Tkinkter + SQLite实现登录和注册界面

    本文实例为大家分享了Python3 Tkinkter + SQLite 实现登录和注册界面,供大家参考,具体内容如下 Ubuntu14 + Python3.4 + Pycharm2018 一.设计数据库 数据库内容(login.db):用户名,密码,邮箱,密码错误次数(达到三次时锁定) create table loginuser ( username varchar(30) NOT NULL PRIMARY KEY , password varchar(16) NOT NULL , email

  • Python制作简易注册登录系统

    这次我主要讲解如何用Python基于Flask的登录和注册,验证方式采用Basic Auth 主要用以下库 import os #Flask的基础库 from flask import Flask, abort, request, jsonify, g, url_for #Flaks的数据库操作的库 from flask.ext.sqlalchemy import SQLAlchemy #Flask登录注册的库 from flask.ext.httpauth import HTTPBasicAu

  • python应用文件读取与登录注册功能

    python应用文件读取与登录注册功能,具体实现代码如下所示: #!/usr/bin/python3 # -*- coding: utf-8 -*- # Author: zhw #读取文件中的内容 def open_file(filename ,file_type , *args): #读取文件中的数据 if file_type == 'r': flie_list = [] with open(filename,file_type) as sub_all: for file_line in su

随机推荐