您的位置:首页 > 编程语言 > Python开发

python之 while的实际应用

2015-09-22 16:29 381 查看
作业要求

编写用户登录接口

要求。登录的用户名是事先设置好的用户名

   对密码进行判断,密码输错3次需要重新登录

1、编写登录的用户名密码

2、为了节省空间。避免每次输入用户名和密码都要都去文件,拖慢程序的运行速度,在程序开始前先将文件存储到内存

3、程序开始。因为我们需要判断用户名密码我们需要一个死循环while

4、程序开始需要输入用户名

5、循环用户名密码文件进行切片

6、如果用户名密码正确

7、对密码进行判断

8、密码判断3次

9、密码正确则输出密码错误则继续循环

结果实现见一下代码

#!/usr/bin/env python
#coding:utf-8

name_pwd = 'name_p.txt'
lock = 'lock.txt'

#读取用户名密码存放的文件节省内存
f = file(name_pwd)
name_pwd = f.readlines()
f.close()

while True:
username = raw_input('请输入你的用户名:').strip()#输入用户名密码
for line in name_pwd:#循环用户名密码的存放文件
line = line.split()#对用户民密码进行切片
if username == line[0]:#用户名正确
#对密码进行判断
for i in range(10):
password = raw_input('请输入你的密码:')
if password == line[1]:#密码正确
print '欢迎 %s 你的光临 '%username
break
elif password == '':
print '输入的密码为空'
else:
print '密码错误'

break
else:
continue


此时我们的基本要求就实现了。但是还有一个问题。如果我们的用户名密码是正确的我还是没办反跳出循环怎们办?

这个时候我们需要告诉程序你的用户名密码输入正确了,需要跳出循环,怎么告诉

这个时候我们需要在判断完用户名密码后需要有返回值

#!/usr/bin/env python
#coding:utf-8

name_pwd = 'name_p.txt'
lock = 'lock.txt'

#读取用户名密码存放的文件节省内存
f = file(name_pwd)
name_pwd = f.readlines()
f.close()

while True:
login = False
username = raw_input('请输入你的用户名:').strip()#输入用户名密码
for line in name_pwd:#循环用户名密码的存放文件
line = line.split()#对用户民密码进行切片
if username == line[0]:#用户名正确
#对密码进行判断
for i in range(10):
password = raw_input('请输入你的密码:')
if password == line[1]:#密码正确
print '欢迎 %s 你的光临 '%username
login = True
break
elif password == '':
print '输入的密码为空'
else:
print '密码错误'

if login == True:#跳出for循环
break
else:
continue

if login == True:break#跳出for循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: