流程控制之判断与循环

一.判断

1.三大控制流程结构

① 顺序控制结构

② 条件控制结构

③ 循环控制结构

2.条件语句

① if-else语句

if 条件:

	满足条件要做的事情	
	
else:

	不满足条件要做的事情

② if-elif-else条件语句

if 第一个条件:

	执行满足第一个条件的语句

elif 第二个执行条件:

	执行满足第二个条件的语句

elif 第n个执行条件:

	执行满足第n个条件的语句

else:
	
	以上条件全都不满足,执行这条语句

③ if语句嵌套

if 主条件:

    if 从条件一:
		
		执行满足从条件一的语句

    elif 从条件二:

		执行满足从条件二的语句
		
    else:

		从条件全都不满足执行这条语句
    
else:

	主条件不满足执行这条语句

3.三目运算符

#如果条件为真,返回真,否则返回假

condition_is true if condition else condition_is_false

例:

c = a if a >= b else b	#判断a,b值大小,将大的赋值给c

print(c)

4.省略判断条件

二.循环

1.两种循环控制结构

① while循环

② for循环

2.while循环语句

① while循环

while 条件:

	条件满足时,做的事情
	
	条件满足时,做的事情
:计算1-100的总和

i = 1

sum = 0

while i <= 100:

    sum += i
    
    i += 1
    
print(sum)

② while循环嵌套

while 条件1:

	条件1满足时,做的事情
	
	条件1满足时,做的事情

	while 条件2:

		条件1满足时,做的事情

		条件1满足时,做的事情
:输出一个9*9乘法表

i = 1  # 行数控制

while i <= 9:
    
    j = 1	# 列数控制
    
    while j <= i:
    
        print(j, '*', i, '=', j * i, end='  ')
        
        j += 1
        
    print('\n')
    
    i += 1

3.for循环语句

① for循环

for 赋值目标 in 遍历对象:
	
	对赋值目标操作

② range()函数

range(start, stop [,step])

start:计数从start开始,默认是从0开始。例如: range(5)等价range(0, 5)

stop:计数到stop结束,但不包括stop。例如: range(5)[0,1,2,3,4],注意此处没有5

step:步长,默认为1。例如: range(0, 5)等价于range(0, 5, 1)
:计算1-100的总和

sum = 0

for i in range(1, 101):

    sum += i
    
print(sum)

③ for循环嵌套

for 赋值目标1 in 遍历对象1:

	对赋值目标1操作
	
	for 赋值目标2 in 遍历对象2:
		
		对赋值目标2操作
:输出一个9*9乘法表

for i in range(1, 10):

    for j in range(1, i+1):
    
        print(j, '*', i, '=', j * i, end='  ')
        
    print('\n')

4.break跳出循环

while 条件:

	条件满足时,做的事情
	
	if 条件:
	
		break
for 赋值目标 in 遍历对象:

	对赋值目标操作
	
	if 条件:
	
		break

5.continue跳过本次循环

while 条件:

	条件满足时,做的事情
	
	if 条件:
	
		continue
for 赋值目标 in 遍历对象:

	对赋值目标操作
	
	if 条件:
	
		continue

6.循环的else子句

while 条件:

	条件满足时,做的事情
	
	if 条件:
	
		break

else:

	循环正常离开做的事情
for 赋值目标 in 遍历对象:

	对赋值目标操作
	
	if 条件:
	
		continue

else:

	循环正常离开做的事情

7.使用else子句场景

for i in data:

	if 条件满足:

	break

else:

	# raise error or do additional
Flag = Flase

for i in data:

	if 条件满足:

		Flag = True

if not Flag:

	# raise error or do additional processing

8.for和while对比

① for循环

a. 迭代次数固定

b. 可以使用break和continue

c. 使用计数器

d. 可以使用while循环重写

e. 效率更高

② while循环

a. 迭代次数不固定

b. 可以使用break和continue

c. 使用计数器,循环前必须初始化,循环过程中,必须有变化

d. 有些可以使用for循环重写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值