2021-01-02

注册登录实验
在这里插入图片描述
#-- coding=utf8 --

@author:sololi

date: 2020/11/3

文件说明 :

import sys
def register(username,password):#登录功能,且与存储用户表的文本文件进行比较
#验证用户名
shuju=readfile()
jg1 = 0
i = 0
while (i < len(shuju)):
if (username == shuju[i][“用户名”]):
print(“用户名正确”)
jg1 = 1
break
i += 1

用户名错误将不再验证密码

if (jg1 != 1):
print(“用户名错误”)

验证密码

if (jg1 == 1):
jg2 = 0
i = 0
while (i < len(shuju)):
if (password == shuju[i][“密码”]):
print(“密码正确”)
jg2 = 1
break
i += 1
if (jg2 != 1):
print(“密码错误”)

def logon(username):#注册功能,且以正确格式存入文本文件
shuju=readfile()
jg3 = 0
i = 0
while (i < len(shuju)):
if (username == shuju[i][“用户名”]):
print(“用户名已经存在”)
jg3 = 1
break
i += 1
if(jg3 == 0):
while True:
password = input(“请输入注册的密码(密码不能小于6位,且不能为纯数字)”)
if (str.isdigit(password)1) or (len(password)<6):
print(“密码格式错误”)
else:
break
passwordagain=input(“请再次确认密码”)
while True:
if(password
passwordagain):
break
else:
print(“两次密码不一致”)
passwordagain = input(“请再次确认密码”)
# 将注册的用户信息存储到文本文件中
f = open(“data”, mode=‘a+’, encoding=“utf8”)
if shuju == []:
f.write(“用户名:{},密码:{}”.format(username, password))
if shuju != []:
f.write("\n用户名:{},密码:{}".format(username, password))
print(“注册成功”)
f.close()

def readfile():#将数据转换成列表字典形式,放在data.txt中便于后面登录与注册存放数据
f = open(‘data’, “r+”, encoding=“utf8”)
shuju = []
b = []
aa = {}
for line in f.readlines():
line = line.strip(’\n’)
a = line.split(’ ‘)
i = 0
while i < len(a):
b = a[i].split(’,’)
i += 1

j = 0
while j < len(b):
if b == " ":
break
c = b[j].split(’:’, 1)
aa[c[0]] = c[1]
i += 1
j += 1

shuju.append(aa.copy()) # copy是为了防止添加是数据类型不同出错
f.close()
return shuju

while True:
choice=input(“登录输入1,注册输入2,其他任意键退出”)
if choice==“1”:
id=input(“输入您的账号”)
pw=input(“输入您的密码”)
register(id,pw)
break
if choice==“2”:
id=input(“输入你注册的账号”)
logon(id)
continue
else:
print(“退出成功”)
sys.exit(0)
在这里插入图片描述

-- coding: utf-8 --

“”"
Created on Fri Feb 2 16:14:31 2018
@author: Administrator
一个简单的登录注册Demo
“”"

def showMessage():
print(’—新建用户:(键入N/n)—’)
print(’—登录帐号:(键入E/e)—’)
print(’—退出程序:(键入Q/q)—’)

def new_user():
while True:
myname = input(“请输入用户名:”)
if myname in user:
print(‘你输入的用户名已存在,重新输入。’)
continue
else:
user[myname] = input(‘请输入密码:’)
print(‘注册成功,赶紧登录试试吧!’)
break

def older_user():
while True:
in_name = input(‘请输入登录用户名:’)
if in_name in user:
in_password = input(‘请输入登录密码:’)
if in_password == user[in_name]:
print(‘登录成功!\n’)
break
else:
print(‘你输入的密码有误!\n’)
break

    else:
        print('你输入的用户名不存在')
        continue

user = {}
while True:
showMessage()
myIn = input(’—请输入指令代码:’)
if myIn in ‘nN’:
new_user()

elif myIn in 'eE':
    older_user()

elif myIn in 'Qq':
    print('程序已退出')
    break
else:
    print('你输入的指令有误,重新输入。')
    continue
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值