• Python实现简单的三次登录


    题目:Python实现简单的三次登录

      作为一名刚从运维转入编程的我来说,这是一个大挑战,又是一个新的小白之旅开始了。首先看到别其他大神级的人物写的代码又长、功能又复杂时一定不要被震慑住着了,也不用过分地去羡慕这些大神们,因为他们也就从小白一路走来的,所以我们看到题目一定不要乱了阵脚,一步一个脚印地去解决。

      

    Python实现三次登录功能这题目先不要一上来就急着写,功能一步步地实现。首先实现一个一次登陆的功能。

    步骤一:实现一次登陆。

    # 事先定义
    user = 'lisa'
    pwd = '123456'
    username = input('Please enter your username:')
    password = input('Please enter your password:')
    
    # 判断
    if username == user and pwd == password:
        print('Login successfully!')
    else:
        print('Login failed!')
    

      

    步骤二:实现三次登陆

    方式一:

    # 事先定义
    count = 0          # 定义循环的次数,初始值为0
    user = 'lisa'
    pwd = '123456'
    
    while count < 3:  # 循环的次数小于3次时,count的值经过自加盟1操作后将会依次走0、1、2这三个数变化,就是3次了。
        username = input('Please enter your username:')
        password = input('Please enter your password:')
    
        # 判断
        # 当判断用户名和密码都正确时结束循环。
        if username == user and pwd == password:
            print('Login successfully!')
            break
    
        # 当用户名或密码错误时都走这条分支。
        else:
            print('Login failed!')
    
        # 让循环的次数每循环一遍都进行自加1操作。
        count += 1
    

      

    方式二:(推荐)

    # 事先定义
    count = 1    # 定义循环的次数,初始值为1
    user = 'lisa'
    pwd = '123456'
    
    while True:
        # 当循环的次数等于4时,结束循环。count的值经过自加1操作后将会依次走1,2,3这三个数的变化,这就是3次了。
        if count == 4:
            print('Too many times!')   # 当超过3次了,提示用户超过尝试登陆次数过多了。
            break
    
        username = input('Please enter your username:')
        password = input('Please enter your password:')
        # 判断
        # 当判断用户名和密码都正确时结束循环。
        if username == user and password == pwd:
            print('Login successfully!')
            break
    
        # 当判断用户名或密码不正确时走else下的条件。
        else:
            print('Login failed!')
    
        # 让每一次循环都进行自加1操作。
        count += 1
    

      

    步骤三:解决用户体验问题。

    此时在步骤二这里就已经实现了三次登陆的功能 了,为了能更好地用户体验。

    添加以下功能:

    1、用户输入处添加strip()

    2、当用户输入为空时,反复地让用户输入。

    # 事先定义
    count = 1    # 定义循环的次数,初始值为1
    user = 'lisa'
    pwd = '123456'
    
    while True:
        # 当循环的次数等于4时,结束循环。count的值经过自加1操作后将会依次走1,2,3这三个数的变化,这就是3次了。
        if count == 4:
            print('Too many times!')   # 当超过3次了,提示用户超过尝试登陆次数过多了。
            break
    
        username = input('Please enter your username:').strip()  # 去除用户输入时字符串两边的空格
        password = input('Please enter your password:').strip()  # 去除用户输入的字符串两边的空格
    
        # 如果用户输入的内容有值时进行以下判断
        if username or  password:
    
            # 当判断用户名和密码都正确时结束循环。
            if username == user and password == pwd:
                print('Login successfully!')
                exit()      # 当用户名和密码匹配成功时退出程序
    
            # 当判断用户名或密码不正确时走else下的条件。
            else:
                print('Login failed!')
    
        # 如果用户输入的值为None时,则执行以下打印操作。
        else:
            print('Please enter your user name and password before landing')
            continue   # 当用户输入为空时,跳出本次循环,继续执行如下。
        # 让每一次循环都进行自加1操作。
        count += 1
    

      

    步骤四:扩展三次登陆。  

    给程序添加以下功能:
    当用户登陆失败时提示用户还有几次登陆机会。

    # 事先定义
    count = 1    # 定义循环的次数,初始值为1
    user = 'lisa'
    pwd = '123456'
    
    while True:
        # 当循环的次数等于4时,结束循环。count的值经过自加1操作后将会依次走1,2,3这三个数的变化,这就是3次了。
        if count == 4:
            print('Too many times!')   # 当超过3次了,提示用户超过尝试登陆次数过多了。
            break
    
        username = input('Please enter your username:').strip()  # 去除用户输入时字符串两边的空格
        password = input('Please enter your password:').strip()  # 去除用户输入的字符串两边的空格
    
        # 如果用户输入的内容有值时进行以下判断
        if username or  password:
    
            # 当判断用户名和密码都正确时结束循环。
            if username == user and password == pwd:
                print('Login successfully!')
                exit()      # 当用户名和密码匹配成功时退出程序
    
            # 当判断用户名或密码不正确时走else下的条件。
            else:
                print('Login failed,you have %s more chances'%(3 - count))
    
        # 如果用户输入的值为None时,则执行以下打印操作。
        else:
            print('Please enter your user name and password before landing')
            continue   # 当用户输入为空时,跳出本次循环,继续执行如下。
        # 让每一次循环都进行自加1操作。
        count += 1
    

      

      

      

  • 相关阅读:
    KMP算法
    cocos2d-x jsbinding 在线更新策略设计
    AS3动画效果公式,常用处理公式代码,基本运动公式,三角公式
    理解引导行为:路径跟踪
    适用于任何语言的编程策略
    Using中return对象
    js计算两个时间相差天数
    fastReport 绑定DataBand数据源后还是打印出一条数据
    无法处理文件 MainForm.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记
    附加数据库后登陆报错
  • 原文地址:https://www.cnblogs.com/yujiemeigui/p/7068124.html
Copyright © 2020-2023  润新知