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

  

  

  

原文地址:https://www.cnblogs.com/yujiemeigui/p/7068124.html