小程序5:注册和登录

注册代码:

# -*- coding: utf-8 -*-
# !/user/bin/env python
file = open(r'C:\Users\zxq\Desktop\userinfo.txt','a')  #在‘a’是写的方式打开,不可读
while True:
account = raw_input('请输入你要注册的账号:')
if account == ' ':
print('你再输入一遍账号:')
continue
passwd = raw_input('请输入你要输入的密码:')
if passwd == ' ':
print('你再输入一遍密码:')
continue
str = '%s:%s\n' % (account,passwd)  
#字符串格式化,注意字符串后加\n;登录取密码时,应截取掉
file.write(str)
file.flush()  
#把缓冲区的数据刷新到磁盘上
print('恭喜您注册成功。')
break
file.close()

 运行时:输入的注册账号和密码都会以%s:%s\n 的格式保存在userinfo.txt文件中

登录代码:

# !/user/bin/env python
# -*- coding: utf-8 -*-
file = open(r'C:\Users\zxq\Desktop\userinfo.txt','r')  #以只读方式打开userinfo.txt
num = 0
while True:
if num == 0:
account = raw_input('登录账号:')
if account == '':
print('请再输入一遍账号')
continue
passwd = raw_input('登录密码:')
if passwd == '':
print('请再输入一遍密码')
continue

for str in file:
file_account = str.split(':')[0]  
#把每次循环的str进行切片,以 : 为切片标准;根据索引取出账号
file_passwd = str.split(':')[1]  
#根据索引取出密码
file_passwd = file_passwd[:-1] 
 #对上一个file_passwd变量进行切片;切掉密码最后一个字符,即\n

if file_account == account and file_passwd == passwd: 
 #当输入的accounts、passwd和文件userinfo.txt中的file_account、file_passwd一致时,即登录成功,break退出for循环
print('登录成功')
num = 1
break
if num == 1: 
 #如果num=1退出while循环
break

  加num参数是为了退出while循环

  运行时:输入的账号和密码不在文件userinfo.txt文件中时,就一直循环让登录账号,知道输入正确提示登录成功,退出while循环

 

转载于:https://www.cnblogs.com/zzfighting/p/5715926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值