控制流程
程序三大执行流程:顺序执行、选择执行、循环执行
代码中的缩进代表的就是包含关系
Ctrl + F8 可以插入debug的断点,然后执行debug,进行一步一步的执行(也可以取消断点)
一、条件判断
1、代码执行顺序
- 定义一个列表
- 打印列表
- 改变列表的内容
- 打印列表
- 根据打印结果得出结论
2、语法结构
if 判断语句1:
执行语句1
elif 判断语句2:
执行语句2
else:
执行语句3
juhao = '男'
if juhao == '男':
print('句号是男的')
else:
print('句号是女的')
a = int(input('请输入你的年龄:')) # 通过input输入进来的一定是一个字符串
if a <= 18:
print('少先队员')
elif 18 < a < 40:
print('青少年')
else:
print('成熟人士')
二、三目运算
a = 3
if a > 5:
b = True
else:
b = False
print(b)
# 三目运算
a = 3
b = True if a > 5 else False
print(b)
# 三目运算
# 语法糖:三目运算、装饰器、lambda函数
a = 10
print(True if a > 5 else False)
# 成立执行值1 if 判断语句 else 不成立执行值2
# 只有简单的判断,写几行太麻烦,就可以使用三目运算写成一行
三、条件循环
1、while
(1)语法规则
while 判断语句:
循环体
注:注意缩进
# 1.条件循环
i = 0
while i < 10:
print(i)
i += 1
# 2.while循环(条件循环)
i = 1
while i <= 30:
print(i,end = '-')
i += 1 # 没有i += 1就会死循环
"""
while 条件:
条件满足的时候执行的事情 先判断,再执行,执行完毕后再判断,直到判断条件不成立,执行结束
"""
i = 0
li = [1, 3, 5, 7, 9]
while i < len(li):
print( li[i] if li[i] > 5 else print(False))
i += 1
# 3.跳出循环break和continue
li = [1, 3, 5, 7, 9, 11, 2, 8]
i = 0
while i < len(li):
if li[i] == 5:
# break # 跳出循环,程序终止,后面的将不再输出
i += 1
continue # 如果i += 1 在continue之后,则:i值进入判断后,continue,找到while,而i值式中没有变化,再次进入判断,重复之前的动作,死循环
elif li[i] > 5:
print(li[i])
else:
print(False)
i += 1
# break跳出循环,程序终止
# continue跳出当前循环,进入下一次循环。注意:判断条件
li = [1, 3, 5, 7, 9]
i = 0
while i < len(li):
print(li[i])
i += 1
else:
print('----end----')
# else可以跟在while的后面,但是只有循环结束才不会执行else,如果是break把循环终止的,那么这个else就不会执行
# 跳出循环break和continue
li = [1, 3, 5, 7, 9, 11, 2, 8]
i = 0
while i < len(li):
if li[i] == 5:
# break # 跳出循环,程序终止,后面的将不再输出
i += 1
continue # 如果i += 1 在continue之后,则:i值进入判断后,continue,找到while,而i值式中没有变化,再次进入判断,重复之前的动作,死循环
elif li[i] > 5:
print(li[i])
else:
print(False)
i += 1
# break跳出循环,程序终止
# continue跳出当前循环,进入下一次循环。注意:判断条件
li = [1, 3, 5, 7, 9]
i = 0
while i < len(li):
print(li[i])
i += 1
else:
print('----end----')
2、break和else
# 1.break的用法:
li = list(range(1,10))
i = 0
while i < len(li):
if li[i] == 5:
break
print(True if li[i] > 5 else False)
i += 1
# 2.else的用法:
li = list(range(1,10))
i = 0
while i < len(li):
print(True if li[i] > 5 else False)
i += 1
else:
print('判断结束')
# else可以跟在while的后面,但是只有循环结束才不会执行else,如果是break把循环终止的,那么这个else就不会执行
3、continue
# continue
for i in range(21):
if i % 5 == 0:
continue
print(i)
else:
print('输出结束')
4、注意的要点
(1)循环可以被终止:
- 通过break终止循环
- 通过continue跳过当前循环
(2)else的执行条件:
- 只有在循环不是被break终止的情况下才会执行else中的内容
5、while的应用:
控制程序编程:对于不同的条件,执行不同的代码
-
break:可以在没有终止条件的情况下结束循环
-
else:只有在循环被终止条件终止的情况下才会执行
四、迭代循环
1、语法规则
for i in obj:
循环体
注:注意缩进
2、for迭代
# for迭代
li = [1, 5, 6, 9, 3, 2]
for i in li:
print(i)
# 遍历
# for主要应用在遍历
# 1.列表的遍历
li = [1, 3, 5, 7, 9]
for i in li:
print(i)
# 2.元组的遍历
tu = (1, 3, 5, 7, 9)
for i in tu:
print(i)
# 3.集合
se = {'k1', 'k2', 'k3'}
for i in se:
print(i)
# 4.字典
dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
for k, v in dic.items():
print(k, v)
# 5.for 的死循环情况
"""
li = [1, 3, 5, 7, 9]
for i in li:
li.append(i)
print(i)
"""
# 如果是可变对象,一定不要再循环的往里面插入东西
# 怎么判断一个对象是不是可迭代对象:1、直接放到for里面。2、如果一个对象有'__iter__'方法,它就是可迭代的
# 跳出循环
for i in range(1, 21):
if i % 5 == 0:
# continue # 跳出当前循环,进入下一次循环
break # 跳出整个循环,程序终止
print(i)
else:
print('----end----')
# for 的break/continue/else同while
3、range的用法
for iin range(21):
print(i)
# range()
# 表示的是一个范围
print(list(range(5))) # [0, 1, 2, 3, 4]
print(list(range(1, 5))) # [1, 2, 3, 4]
print(list(range(1, 5, 2))) # [1, 3]
4、注意要点
(1)for
- for后面需要接上可迭代对象
- for会依次取出可迭代对象中的元素
(2)continue的用法:
- continue和break类似,但是continue不会终止循环,而是结束本次循环,跳到下次循环
(3)for的应用
-
控制程序流程:对于不同的条件,执行不同的代码
-
continue:可以跳过本次循环,进入下次循环
-
else:只有在正常迭代结束,即不是被break终止的情况