#1、实现注册功能

输入:username、passowrd,cpassowrd

#最多可以输错3次

#3个都不能为空

#用户名长度最少6位, 最长20位,用户名不能重复

#密码长度最少8位,最长15位

#两次输入的密码要一致

#注册成功之后,要写到文件里面

#2、登陆功能实现:

#3次

用户名和密码你去文件里面取

一、注册

 f=open('users.txt','a+')
f.seek(0)
res=f.read()
all_users=[]
for i in res.split('/n'):
username=i.split(',')[0]
all_users.append(username)
for i in range(3):
username=input('username:')
pwd=input('pwd:')
cpwd=input('cpwd')
if len(username)<6 and len(username)>20:
print('用户名输入大于六位,小于20位')
elif len(pwd)>8 and len(pwd)<15:
print('密码输入最小8位,最大15位')
elif username in all_users:
print('用户名已注册')
elif pwd!=cpwd:
print('两次输入不一致')
else:
info='%s,%s' %(username,pwd)
f.write(info)
print('注册成功')
break
else:
print('输入次数太多') f.close()

二、登录

1、第一种方法:直接取文件中的值进行对比

 f=open('users.txt','r')
res=f.read()
allnamep=res.split('\n')
for i in range(3):
username=input('username')
pwd=input('pwd')
user_info=username+','+pwd

if user_info not in allnamep:
print('帐号密码不存在')
else:
print('登陆成功') f.close()

2、第二种方法:将文件读取出来,存入字典,从字典中取值进行取比

 userall={}
f=open('users.txt','r')
res=f.read()
for i in res.split('\n'):
if i.strip()!='': #判断res不等于空的行
username = i.split(',')[0]
pwd=i.split(',')[1]
userall[username]=pwd
#print(userall)
for i in range(3):
username=input('username:')
pwd=input('pwd:')
if username in userall:
if pwd==userall.get(username):
print('登陆成功')
else:
print('帐号/密码错误')

python作业(二)实现注册功能和登陆功能的更多相关文章

  1. 作业二:注册软件github

    注册Github

  2. python作业/练习/实战:2、注册、登录(文件读写操作)

    作业要求 1.实现注册功能输入:username.passowrd,cpassowrd最多可以输错3次3个都不能为空用户名长度最少6位, 最长20位,用户名不能重复密码长度最少8位,最长15位两次输入 ...

  3. python实现软件的注册功能(机器码+注册码机制)

    http://www.cnblogs.com/cquptzzq/p/5940583.html 一.前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状 ...

  4. ASP.net(C#)利用SQL Server实现注册和登陆功能

    说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...

  5. Python学习之编写三级菜单(Day1,作业二)

    作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...

  6. Python作业模拟登陆(第一周)

    模拟登陆:1. 用户输入帐号密码进行登陆2. 用户信息保存在文件内3. 用户密码输入错误三次后锁定用户 思路: 1. 用户名密码文件为passwd,锁定用户文件为lock 2. 用户输入账号密码采用i ...

  7. Python Django 实现简单注册功能

    Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...

  8. Python 爬虫二 requests模块

    requests模块 Requests模块 get方法请求 整体演示一下: import requests response = requests.get("https://www.baid ...

  9. python作业ATM(第五周)

    作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...

随机推荐

  1. ubuntu下,python2.7安装mysqlldb驱动方法

    安装依赖: sudo apt-get install libmysqlclient-dev libmysqld-dev python-dev python-setuptools 安装MySQLdb p ...

  2. 再见了,我最爱的OI~~~

    唔,迟到了三个月的感言呢. 我就这样离开OI了,成为了一个退役的OIer,当年高一的时候还觉得自己有很多时间,没想转眼间自己就退役了.呵呵,来到OI 从没有在这个世界带起一丝风浪,也没有拿到一个满意的 ...

  3. MongoDB的安装和使用

    Step1:下载和安装 下载地址:http://dl.mongodb.org/dl/win32/x86_64 安装:一直按照默认指示去安装或者选择自己喜欢的路径安装. Step2:配置环境变量 安装完 ...

  4. HttpClient 通过代理访问验证服务器

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  5. Findout之为什么公司内部不能使用SSH协议连接外网服务器

    今天在公司学习Linux的过程中,想试着像在Windows中操作Github一样对代码进行克隆,只不过是使用命令行的方式.根据一篇博文(Linux下初次使用Github配置)进行了配置,当我进行到第二 ...

  6. asp。net内置委托

    Action与Func是APS.NET内置委托 //--------------无返回值的委托Action--------------------------- Action是无返回值的泛型委托 Ac ...

  7. Golang的流程控制

    流程控制 条件语句 例: var b bool = true if b{ fmt.Print("b是True") }else{ fmt.Print("b是false&qu ...

  8. vim撤销与反撤销

    按esc进入一般模式之后,u按键则为撤销上一步操作,ctrl+r则为反撤销操作

  9. backref 用法

    源码 def backref(name, **kwargs): """Create a back reference with explicit keyword argu ...

  10. 将TUM数据集的RGB-D数据集转化为klg格式

    1.在github上下载代码png_to_klg git clone https://github.com/HTLife/png_to_klg 2.将png_to_klg目录下的associate.p ...