python作业(二)实现注册功能和登陆功能
#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作业(二)实现注册功能和登陆功能的更多相关文章
- 作业二:注册软件github
注册Github
- python作业/练习/实战:2、注册、登录(文件读写操作)
作业要求 1.实现注册功能输入:username.passowrd,cpassowrd最多可以输错3次3个都不能为空用户名长度最少6位, 最长20位,用户名不能重复密码长度最少8位,最长15位两次输入 ...
- python实现软件的注册功能(机器码+注册码机制)
http://www.cnblogs.com/cquptzzq/p/5940583.html 一.前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状 ...
- ASP.net(C#)利用SQL Server实现注册和登陆功能
说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...
- Python学习之编写三级菜单(Day1,作业二)
作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...
- Python作业模拟登陆(第一周)
模拟登陆:1. 用户输入帐号密码进行登陆2. 用户信息保存在文件内3. 用户密码输入错误三次后锁定用户 思路: 1. 用户名密码文件为passwd,锁定用户文件为lock 2. 用户输入账号密码采用i ...
- Python Django 实现简单注册功能
Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...
- Python 爬虫二 requests模块
requests模块 Requests模块 get方法请求 整体演示一下: import requests response = requests.get("https://www.baid ...
- python作业ATM(第五周)
作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...
随机推荐
- 封装Thread的两种方法 via C++ in Linux
方法一: 代理线程函数(proxyThreadFunc)作为类的静态成员函数, 回调函数指针作为类的私有成员变量 方法二: 代理线程函数(proxyThreadFunc)作为全局函数, 回调函数指针 ...
- C# TCP与UDP
Http使用端口是80 SMTP使用端口是25 TCP是首选协议,它提供有保证的传输.错误校正和缓冲. System.Net.Sockets. TcpClient类封装了TCP链接,提供属性字段来控制 ...
- Fedora-Workstation-netinst-x86_64-27-1.6系统之无法使用中文解决办法
首先我安装的是Fedora-Workstation-netinst-x86_64-27-1.6操作系统: 但是进入系统之后无论如何都无法使用中文,即使已经安装了[汉语]输入法,最后才发现原因是没有安装 ...
- rsa公钥和私钥的生成
在liunx环境中 openssl 然后生成私钥: genrsa -out app_private_key.pem 2048 # 私钥的生成 在利用私钥生成公钥: rsa -in app_privat ...
- Linux下的tar压缩解压缩命令详解(转)
tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...
- [ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参
个人原创: 1. 形参:形式上的参数,一般多在函数声明.函数定义的参数上: 2. 实参:实体参数,有实际的值,在运算上被循环使用的值: 3. 按值传参:按值,就是把实际的值传给函数内部: 4. 指针传 ...
- C# 中String.Join()方法
今天在工作中看到了组里一个大佬写的代码,感触颇多,同样实现一个需求,我写循环费了老大劲,代码又臭又长,大佬的代码简洁明了,三行搞定...不得不说,今天赚大了 简单总结一下今天赚到的知识 string里 ...
- centos vsftpd
1.配置文件 # 是否允许匿名登录FTP服务器,默认设置为YES允许# 用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址.# 如不允许匿名访问则设置为NOanon ...
- Linux下tomcat运行时jvm内存分配
tomcat运行时jvm内存分配 ⑴开发环境下在myeclipse中配置-Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSi ...
- 认识Ajax
1.简介 AJAX 相当于异步 JavaScript 和 XML,是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网 ...