while 控制循环
语法:
whlie 条件表达式: (逻辑 成员 比较 空数据(参照if语句) 布尔值)
代码块
执行规律:首先判断while 后面的条件表达式是否成立
如果True 那就执行代码块 ,执行完毕之后,继续判断--->如果True 那就执行代码块 执行完毕之后,继续判断-->
否则 不进入内部 执行代码块
防止代码进入死循环:加一个变量来控制循环次数
例1:利用while循环 实现1-100的整数相加
1 利用while循环 实现1-100的整数相加
2 sum=0 # 求和初始值
3 a=1 # 循环的起始值
4 while a<=100:
5 sum=sum+a
6 a=a+1
7 print("求和的结果是:",sum)
8 <<< 求和的结果是: 5050
例2: passwd={"admin":"123321","user1":"123456"} # key value
1、设计一个登陆程序,不同的用户名和对应密码存在一个字典里面,输入正确的用户和密码去登陆,
2、首先输入用户名,如果用户名不存在或者为空,则一直提示输入正确的用户名
3、当用户名正确的时候,提示去输入密码,如果密码跟用户名不对应,则提示密码错误请重新输入。
4、如果密码输入错误超过三次,中断程序运行。
5、当输入密码错误时,提示还有几次机会
6、用户名和密码都输入成功的时候,提示登陆成功!
1 passwd = {"admin": "123321", "user1": "123456"}
2 count = 3
3 while True:
4 username = input("请输入用户名")
5 if username in passwd.keys():
6 while count > 0:
7 pwd = input("请输入密码")
8 if pwd == passwd[username]:
9 print("登录成功!")
10 break
11 else:
12 print("密码错误,请重新输入")
13 count -= 1 # 每次错误的时候 减去1
14 print("你还有输入密码的{0}次机会".format(count))
15 break
16 elif username not in passwd.keys() or username == "":
17 print("请输入正确的用户名")