要求:1.用户输入Mary后需输入正确密码方可通过,输对正确用户名有提示信息
2.允许三次输错密码,不然重输用户
3.当用户在用户名输入EXIT时,退出
代码如下:
import sys
while True:
flag = 3
psw = 0
print('please type your name')
name = input()
if name == 'EXIT':
sys.exit()
if name != 'Mary':
continue
while flag != 0:
print('Hello Mary,type your password,you have only '+str(flag)+'times ')
password = input()
flag -=1
if password == '12121':
psw +=1
break
if psw !=0:
break
print('password Accessed')
代码解释:import 后导入sys模块,是为了调用sys.exit()提前结束用户程序
设置死循环,只有用户名和密码都正确或者输入’EXIT‘才退出死循环。
flag 变量控制输入password次数,psw检查密码是否输入正确,未正确为0,正确为1.
重点是循环:
1.循环控制条件: 循环控制关键字 条件 :下一行的循环执行语句或多条语句
2.循环执行语句在下一行对其关键字最后一个字符,之后的只要是循环内部的就要保持前端对准,很细节很重要,前期一直莫名犯错就是这,他就是靠这个判断循环逻辑的
3.循环关键字:if,elif,while这些不多讲,增加了一个: for 变量 in range(整型数字) ,这个变量连创建都不用,直接用,范围固定是0~括号内整数-1, 循环多少次由括号里的那个数字决定,还不用专门调用模块 ,当然要是有输出每循环一次都会换行。介绍它的好用之处:
-->1. 输出列表每一个元素
spam = [1sa',,45','a','44']
for i in range(len(spam)) :
print('列表第' + ’str(i)‘+'元素是: '+’spam[i]‘)
4. break,continue作用就是跳出循环,前者是跳至循环末端退出当前循环,后者是跳到循环前端,继续判断,只是后面的语句不在执行。当然重点在于怎么判断跳到哪去了,看你当前这条语句的判断语句对其哪一个判断语句关键字的最后一个字符,这就是你的boss,要是你的正好是最后一层循环,就是管你的判断语句对着边沿,那你一跳接解放了,要是在最里面就要一个一个跳了~