题目: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