zoukankan      html  css  js  c++  java
  • python之 while的实际应用

    作业要求

    编写用户登录接口

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

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

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

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

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

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

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

    6、如果用户名密码正确

    7、对密码进行判断

    8、密码判断3次

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

    结果实现见一下代码

     1 #!/usr/bin/env python 
     2 #coding:utf-8
     3 
     4 name_pwd = 'name_p.txt'
     5 lock = 'lock.txt'
     6 
     7 #读取用户名密码存放的文件节省内存
     8 f = file(name_pwd)
     9 name_pwd = f.readlines()
    10 f.close()
    11 
    12 while True:
    13     username = raw_input('请输入你的用户名:').strip()#输入用户名密码
    14     for line in name_pwd:#循环用户名密码的存放文件
    15         line = line.split()#对用户民密码进行切片
    16         if username == line[0]:#用户名正确
    17             #对密码进行判断
    18             for i in range(10):
    19                 password = raw_input('请输入你的密码:')
    20                 if password == line[1]:#密码正确
    21                     print '欢迎 %s 你的光临 '%username
    22                     break
    23                 elif password == '':
    24                     print '输入的密码为空'
    25                 else:
    26                     print '密码错误'
    27 
    28                 break
    29         else:
    30             continue

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

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

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

     1 #!/usr/bin/env python 
     2 #coding:utf-8
     3 
     4 name_pwd = 'name_p.txt'
     5 lock = 'lock.txt'
     6 
     7 #读取用户名密码存放的文件节省内存
     8 f = file(name_pwd)
     9 name_pwd = f.readlines()
    10 f.close()
    11 
    12 while True:
    13     login = False
    14     username = raw_input('请输入你的用户名:').strip()#输入用户名密码
    15     for line in name_pwd:#循环用户名密码的存放文件
    16         line = line.split()#对用户民密码进行切片
    17         if username == line[0]:#用户名正确
    18             #对密码进行判断
    19             for i in range(10):
    20                 password = raw_input('请输入你的密码:')
    21                 if password == line[1]:#密码正确
    22                     print '欢迎 %s 你的光临 '%username
    23                     login = True
    24                     break
    25                 elif password == '':
    26                     print '输入的密码为空'
    27                 else:
    28                     print '密码错误'
    29 
    30             if login == True:#跳出for循环
    31                 break
    32         else:
    33             continue
    34 
    35     if login == True:break#跳出for循环
  • 相关阅读:
    xml配置文件使用-读取、转换
    .NET 4.0 缓存
    jQuery分页插件pagination.js 笔记
    Spring源码
    Shell编程(字符串篇)
    Linux DNS 相关
    Shell将命令执行结果写入文件
    Linux安装GCC
    Linux网络安全
    产品经理基础
  • 原文地址:https://www.cnblogs.com/qnjslm/p/4829328.html
Copyright © 2011-2022 走看看