• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

python3学习--注册登录小程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
一、需求:
#1、实现注册功能
输入:username、passowrd,cpassowrd
#最多可以输错3次
#3个都不能为空
#用户名长度最少6位, 最长20位,用户名不能重复
#密码长度最少8位,最长15位
#两次输入的密码要一致
#注册成功之后,要写到文件里面
#2、登陆功能实现:
#3次
用户名和密码你去文件里面取

二、代码
\'\'\'
注册登录小程序
Author:Test_Lin
\'\'\'

import datetime

#先访问文件,将文件中的内容存到列表当中
f = open(\'RegisterUser.txt\',\'a+\') #可以写绝对路径或者相对路径。a+代表追加,w会清空文件内容
f.seek(0)               #移动文件指针
file_info = f.readlines()
print(\'file_info\',file_info)
users_info = list()    #定义一个空的list存放用户名
passwd_info = list()   #定义一个空的list存放密码
all_users = list()     #定义一个空的list存放所有账号密码

#将已存在的用户名存在一个list中
for i in file_info:
    all_users.append(i.rstrip())
    users_info.append(i.split(\',\')[0])
print(\'all_users\',all_users)
print(\'users_info\',users_info)

#将已存在用户名的密码存在一个list中
for i in range(len(all_users)):
    passwd_info.append(all_users[i].split(\',\')[1])
print(\'passwd_info:\',passwd_info)

#####注册######
for i in range(3):
    username = input(\'请输入用户名:\')
    if username.strip() == \'\':
        print(\'用户名不能为空!\')
    elif len(username) > 20:
        print(\'用户名长度最大为20位!请重新输入。\')
    elif len(username) < 6 and len(username) > 0:
        print(\'用户名长度最少为6位!请重新输入。\')
    elif username in users_info:
            print(\'该用户已被注册!\')
    else:
        password = input(\'请输入密码:\')
        cpassword = input(\'请输入确认密码:\')
        if password != cpassword:
            print(\'密码与确认密码不一致!请确认。\')
        elif len(password) and len(cpassword) < 8:
            print(\'密码与确认密码长度最少为8位!,请重新输入。\')
        elif len(password) and len(cpassword) > 15:
            print(\'密码与确认密码长度最多为15位!,请重新输入。\')
        elif password.strip() == \'\' or cpassword.strip() == \'\':
            print(\'密码不能为空!\')
        else:
            print(\'注册成功!\')
            f.write(\'\n\' + username + \',\' + password)   #注册成功的账号写入文件
            f.flush()  # 刷新文件
            dict_login = dict(zip(users_info, passwd_info))
            dict_login.setdefault(username,password)
            break
else:
    print(\'输入次数过多!\')
f.close()


#####登录######
today = datetime.date.today()
count = 0
while count < 3:
    count+=1
    login_user = input(\'请输入登录用户名:\')
    login_passwd = input(\'请输入登录密码:\')
    if login_user in dict_login:
        if login_passwd == dict_login.get(login_user):
            print(\'%s 欢迎登录,今天的日期是 %s 。\' % (login_user, today))
            break
        else:
            print(\'账号密码有误!\')
    elif login_user.strip() == \'\' or login_passwd.strip() == \'\':  # 账号密码为空判断,且账号为空不计次数
        print(\'账号或密码不能为空!\')
        count -= 1
    else:
        print(\'账号密码有误!\')
else:
    print(\'\n\')
    print(\'账号密码错误3次,请联系管理员!\')

运行结果:

C:\Python34\python.exe C:/Users/Administrator/PycharmProjects/day3/RegisterLogin.py
file_info [\'testlin1,12345678\n\', \'testlin2,12345678\n\', \'testlin3,12345678\']
all_users [\'testlin1,12345678\', \'testlin2,12345678\', \'testlin3,12345678\']
users_info [\'testlin1\', \'testlin2\', \'testlin3\']
passwd_info: [\'12345678\', \'12345678\', \'12345678\']
请输入用户名:testlin4
请输入密码:1234
请输入确认密码:1234
密码与确认密码长度最少为8位!,请重新输入。
请输入用户名:testlin4
请输入密码:1234qwer
请输入确认密码:1234qwer
注册成功!
请输入登录用户名:testlin4
请输入登录密码:1234qwer
testlin4 欢迎登录,今天的日期是 2018-08-30 。

Process finished with exit code 0

三、总结:

0、思路:

(1)将文件中的用户读取到两个list1

(2)将整体的用户名及密码读取到一个list2

(3)遍历list3并使用 .append 、.split  来生成密码list3

(4)使用循环来进行登录验证,其中字典中新增一个k-v,使用.setdefault

(5)两个list可以合并转换为一个dict,使用dict_login = dict(zip(users_info, passwd_info))

1、重难点

字符串、list的操作

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序证书申请FAQ发布时间:2022-07-18
下一篇:
想在小程序上“飙车”?特斯拉小程序做到了发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap