1.if条件语句
(1)if条件语句 (比较/逻辑/成员运算均可)
# 方法1 if 条件1: # 条件1成立执行的代码1 elif 条件2: # 条件2成立执行的代码2 elif 条件3: # 条件3成立执行的代码3 else: # 条件不成立执行的代码 # 方法2 if 条件: 子语句 else: 子语句
2.for语句
(1)遍历一个常量
for item in 某个数据类型(字符串,列表,元组,字典,集合): 代码块
(2)循环次数
for i in range(起始值,结束值,步长): # 取头不取尾 代码块
-
遍历字典:得到字典的键
for k in dic.keys():
- 遍历字典的值:dic.values()
for v in dic.values():
- 遍历字典的键值对:dic.items(),遍历出来的是元组
for item in dic.items(): # item返回的结果是元组 (遍历出来的是元组)
# 方法2 for k,v in dic.items(): # 元组格式才可以多变量,字典、列表、字符串不可以 # k--> 接收键 # v--> 接收值
- 补充:元组拆包
a,b = (111,222) print(a) # 111 print(b) # 222
(3)for与break,continue,else
- for-else: for循环正常结束会运行,else下面的代码,如果循环非正常结束(break终止循环),则不会运行
user = [{"name":"py01","pwd":"123"},{"name":"py02","pwd":"123"},{"name":"py03","pwd":"123"},{"name":"py04","pwd":"123"}] # 查询“py03”这个用户是否在列表中 for item in user: if item["name"] == "py03": print("py03在user中") break else: print("py03不在user中")
(4)for循环嵌套使用
# for 循环嵌套使用 for i in range(1,6): # 行数 for j in range(1,i+1): print(j,end=' ') print('')
3.while语句
先判断while后面的条件表达式是否成立;如果成立,执行代码块,否则不进入代码块;执行完毕后,继续判断,直到不进入代码块为止
while 条件表达式(逻辑,成员,比较,空数据,布尔值): # 空数据==False,非空数据==True 代码块/循环体(条件为True执行操作) # 如果条件一直成立,则一直循环做条件满足的事情,直到条件不成立。结束循环
- break:终止循环,跳出循环体
- continue:中止当前本来循环,开启下一轮循环
while True: s = (input("Enter something:")) if s == 'quit': break if len(s) < 3: print('Too small') continue print('输出字符串的长度',len(s)) print('Done')
输出结果为:
>>> ================================ RESTART ================================
>>>
Enter something:12
Too small
Enter something:123
Enter something:1234
Enter something:quit
Done
(1) while-else:while条件不成立的时候执行
n = 0 while n<10: print(n) if n == 5: break n += 1 else: print('while循环对应的else')
(2)while-(if-else)组合
#找出10-12岁的小女孩的总人数,询问10次 i = 10 count = 0 while i>0: sex = input('请问你的性别是:') if sex == '女': age = int(input('请问你多大:')) if 10<=age<=12: print('恭喜你,你符合条件') count+=1 else: print('很遗憾,不符合条件') else: print('很遗憾,不符合条件') i-=1 print("10-12岁小女孩的总人数为:", count)
(3)综合应用
# 例如:password = {'admin':'123321','user1':'123456'} # 1.设计一个登录程序,不同的用户名和对应密码存在一个字典里面,输入正确的用户和密码去登录 # 2.首先输入用户名,如果用户名不存在或为空,则一直提示输入正确的用户名 # 3.当用户名正确时,提示去输入密码,如果密码跟用户名不对应,提示密码错误请重新输入 # 4.如果密码输入错误超过3次,中断程序运行 # 5.当输入密码错误时,提示还有几次机会 # 6.用户名和密码都输入成功的时候,提示登录成功 loginMessage = {'username1': '1234','username2': '1234','username3': '1234','username4':'1234','username5': '1234'} count = 0 # 密码输入次数 while True: username = input('请输入用户名:') if username in loginMessage.keys(): while count <= 3: pwd = input('请输入密码:') if pwd == loginMessage[username]: print("登录成功!") break else: count+=1 print("密码错误,请重新输入") print("还有{0}次机会修改密码".format(3 - count)) break elif username not in loginMessage.keys() or username =='': print("用户名错误,请重新输入")