python:控制流程

控制流程

程序三大执行流程:顺序执行、选择执行、循环执行

代码中的缩进代表的就是包含关系

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 += 1continue    # 如果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 += 1continue    # 如果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终止的情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值