IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 登陆注册页面练习 -> 正文阅读

[Python知识库]python 登陆注册页面练习

一.英雄联盟登陆

import random
while True:
    print("\t\t\t英雄联盟商城界面\n")
    print("~*"*25)
    print("\t\t\t1.用户登录\n")
    print("\t\t\t2.用户注册\n")
    print("\t\t\t3.退出系统\n")
    print("~*"*25)

    a = int(input('请输入你的选项1-3:'))
    if a == 1:
        username =input('请输入你的用户名:')
        password = input('请输入你的密码:')
        if username=='幼杀快发歌吧' and password == '8888':
            print('恭喜您,登陆成功')
            while True:
                print("\t\t\t英雄联盟商城界面\n")
                print("~*" * 25)
                print("\t\t\t1.进入英雄商店\n")
                print("\t\t\t2.休闲小游戏\n")
                print("\t\t\t3.退出登陆\n")
                print("~*" * 25)
                choice = input('请输入您的选择:')
                if choice == '1':
                    print('新款皮肤2.8折,您需要支付50')
                    num = int(input('请你输入您要购买的数量:'))
                    sum1 = num * 50
                    print('您购买的皮肤,需要支付的金额是:', sum1)
                    pay = int(input('请支付商品需要的金额:'))
                    # 循环 支付错误需要重新支付
                    if pay == sum1:
                        print('恭喜,购买成功')
                    else:
                        print('抱歉,支付金额有问题,请重新支付')
                elif choice == '2':
                    print('成功进入休闲小游戏')
                    words = ('python', 'jumble', 'easy', 'difficult', 'answer', 'continue', 'phone', 'position', 'game')
                    right = 'Y'
                    print("欢迎参加猜单词游戏!")
                    while right == 'Y' or right == 'y':
                        word = random.choice(words)#选择一个单词
                        correct = word
                        new_word = ''
                        while word: #把每个下标的字母循环取出来
                            pos = random.randrange(len(word))
                            new_word += word[pos]
                            # 将word单词下标为pos的字母去掉,取pos前面和后面的字母组成新的word
                            word = word[:pos] + word[(pos + 1):]  # 除去选出来的字母
                        print("你要猜测的单词为:", new_word)
                        guess = input("请输入你的答案:")
                        count = 1
                        while count < 5:
                            if guess != correct:
                                guess = input("输入的单词错误,请重新输入:")
                                count += 1
                            else:
                                print("输入的单词正确,正确单词为:", correct)
                                break
                        if count == 5:
                            print("您已猜错5次,正确的单词为:", correct)
                        right = input("是否继续,Y/N:")

                else:
                    break

        else:
            print('用户名或密码错误,请重新登陆,按任意键继续:')
    elif a == 2:
        phone = input('请输入你要注册的手机号:')
        b = len(phone) #手机号长度
        if b == 11:
            c = input('请输入短信验证码:')
            d = len(c)
            if d == 6:
                password1 = input('请输入密码:')
                password2 = input('请再次输入密码:')
                if password1 == password2 and len(password1) <= 8:
                    print('恭喜你,注册成功')

                else:
                    print('两次密码输入不一致或设置密码过短,请重新注册')
            else:
                print('短信验证码输入有误,请重新输入')
        else:
            print('手机输入错误,请重新输入')
    elif a == 3:
        break

二.md5盐值登陆注册页面

import hashlib
import sys
import pickle

#用来存储所有的用户信息
users = []
slat = '%$#%&*%%##'


def init():
    global users
    #初始化数据
    users = pickle.load(open('登陆.txt', 'rb'))
    print(users)


#用来存储所有的用户信息
def save_data():
    #转换对象为字节:
    save_users = pickle.dumps(users)
    f = open('登陆.txt', 'wb')
    f.write(save_users)
    print('保存完成')
    f.close()


def password_md5(password):
    md5 = hashlib.md5(password.encode('utf-8'))
    #盐值混淆
    md5.update(slat.encode('utf-8'))
    return md5.hexdigest()


def main():
    print('\t\t 1.用户注册')
    print('\t\t 2.用户登录')
    print('\t\t 3.查询所有用户信息')
    print('\t\t 4.退出系统')
    print('~*'* 20)
    choice = input('请输入您要操作的选项:')
    return choice


def register():
    username = input('请输入你的用户名称:')
    password = input('请输入你的用户密码:')
    #保存前要校验数据
    if username == None or username.strip() == ' ':
        print('用户名不能为空')
        return
    if password == None or password.strip() == ' ' or len(password) < 3:
        print('密码长度不能小于3')
        return
    if exits_user(username):
        print('对不起,该用户已经存在,请重新输入')
        return

    #组建成一个字典对象
    user = {}
    user['username'] = username
    user['password'] = password_md5(password)
    users.append(user)

    #验证
    print(users)
    print('开始保存用户')
    save_data()


def exits_user(username):
    for i in users:
        if i.get('username') == username:
            return True
        return False


def is_login(username, password):
    for i in users:
        if i.get('username') == username and i.get('password') == password:
            print('登陆成功')
            return True
    return False


def login():
    username = input('请输入用户名:')
    password = input('请输入用户密码:')

    #加密密码
    password = password_md5(password)
    if is_login(username, password):
        print('恭喜你登陆成功')
    else:
        print('对不起,登陆失败,请重新登陆')
    init()


while True:
    choice = main()
    if choice == '1':
        print('用户注册')
        register()
    elif choice == '2':
        print('用户登陆')
        login()
    elif choice == '3':
        print('显示所有用户')
        print(users)
    else:
        print('程序正常退出')
        sys.exit(0)

运行结果:
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:42:32  更:2021-12-02 16:43:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:57:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码