if-elif-else 选择语句
从上向下依次判断if/elif的条件表达式,若为True则进入内部语句块,跳过其它条件和语句块(短路执行)
所有if/elif的条件表达式均为False时,才执行else
if 条件表达式1: # if语句块 print('执行if语句块') elif 条件表达式2: # elif1语句块 print('执行elif1语句块') elif 条件表达式3: # elif2语句块 print('执行elif2语句块') else: # else语句块 print('执行else语句块')for 循环
for 表达式 in 可迭代对象:
循环体语句块
# 示例1:从0-9取i for i in range(9): print(i) # 示例2:迭代一个列表 lst1 = ['a', 'b', 'c', 'd'] for item in lst1: print(item) # 示例3:迭代一个字典的键、值 dict1 = dict(a=12, b='3', c=1) for key, value in dict1.items(): print(f'{key}:{value}')while 循环
while 条件表达式:
循环体语句块 # 在条件表达式满足时不断执行循环体语句块
# 示例1:用于计数器 n = 0 while n < 5: print(f'第{n}次循环') n += 1 # 示例2:用于检测输入是否合法 while(True): a = int(input()) if a < 0 or a > 20: print('输入非法:输入的值必须在0~20之间') else: breakbreak 与 continue
在循环体内部执行 break 或 continue 时:
执行 break:结束整个循环
执行 continue:跳过当次循环,进入下一次循环
for i in 序列: # for语句块 print('执行for语句块') if 条件表达式1: break # 满足条件表达式1则结束全部循环 if 条件表达式2: continue # 满足条件表达式2则进入下一次循环for-else 或 while-else 结构与 break, continue
else的语句块只在循环没被打断、正常全部执行完才执行
1. for的语句块中没有执行break才执行else的语句块。continue对其无影响。while-else同理。
for i in 序列: # for语句块 print('执行for语句块') if 条件表达式1: break # 满足条件表达式1则结束全部循环 if 条件表达式2: continue # 满足条件表达式2则进入下一次循环 else: # else语句块 print('执行else语句块') # for中没有执行break才执行else语句块(循环正常结束)2. 函数内部,若for语句中使用return退出函数也不执行else。while-else同理
def func(参数): for i in 序列: # for语句块 print('执行for语句块') if 条件表达式1: break # 满足条件表达式1则结束全部循环 if 条件表达式2: continue # 满足条件表达式2则进入下一次循环 if 条件表达式3: return 值 # 满足条件表达式3则返回值 else: else语句块 # for中没有执行break且没有return才执行else语句块(循环正常结束) return -1