【Python零基础】19天从零开始学Python——第四天循环章节

第四天循环章节

一、认识循环

1、循环的作用:让程序更高效的重复执行
2、python中, 循环的分类while和for两种,最终实现的结果相同

二、while循环

1、语法

while 条件:
	条件成立重复执行的代码1
	条件成立重复执行的代码1
	...

2、实验

重复执行5次,我爱你

# 重复打印5次我爱你--1,2,3,4,5 
# 数据表示我循环的次数,第一次是1,最后一次是5
i = 1
while i <= 5:
    print(i,'我爱你')
    i += 1

3、循环计数器的重复写法,习惯从0开始

i = 0
while i < 5:
    print('我爱你')
    i += 1

4、循环的执行流程

4-1print()语句顶格写

i = 0
while i < 5:
    print('我爱你')
    i += 1
print('不可能')

运行结果:只执行一次不可能

我爱你
我爱你
我爱你
我爱你
不可能

4-2print()语句放置在while循环里

i = 0
while i < 5:
    print('我爱你')
    i += 1
    print('不可能')  # 每执行一句我爱你,执行一句不可能

运行结果:

我爱你
不可能
我爱你
不可能
我爱你
不可能
我爱你
不可能
我爱你
不可能

4-3衍生:制表符

i = 0
while i < 5:
    print('我爱你',end="\t")
    i += 1
    print('不可能')  # 每执行一句我爱你 空格 不可能

运行结果:

我爱你 不可能
我爱你 不可能
我爱你 不可能
我爱你 不可能
我爱你 不可能

5、循环的应用

应用一——计算1-100之和

# 需求:计算1-100之和,结果:进行打印
'''
1、准备做加法运算的数据,增量是1
2、准备一个变量,保存运算的结果
3、循环做加法运算
4、打印结果
5、验证正确性
'''

# 1、准备数据
i=1
# 2、结果变量
result=0
# 3、循环
while i <= 100:  #验证,改成i <= 3,进行验证自己的流程是否出错
    result += i
    i += 1
print(result)  # 5050

注意:为了验证程序的准确性,可以先改小数值,验证结果成功后,再改成1-100 做累加

应用二——计算1-100偶数累加和

# 需求二,计算1-100偶数的累加和
# 方法一,条件判断取余数
i=1
result=0
while i<=100:
    if i%2==0:
        result += i
    i += 1
print(result)  # 2550
# 方法二,计数器控制
i=0  # 从0开始,因为从1开始,计算的则是1-100内奇数的和
result=0
while i<=100:
    result += i
    i += 2 # 每个偶数之间步长为2
print(result)

6、循环的注意事项

要注意变量的累加i++;若是没有的话,将会进入死循环
点击红色的方块进行取消,否则会对内存、硬盘有伤害
在这里插入图片描述

7、循环中满足一定条件的两种退出方式:break和continue

7-1break当某些条件成立时,退出整个循环

# break:当某些条件成立时,退出整个循环
# 循环吃5个苹果时,吃完第3个饱了,4、5不吃了
i = 1
while i <= 5:
    # 条件语句
    if i == 4:
        print('吃饱了,不吃了')
        break
    print(f'吃了第{i}个苹果')
    i += 1

结果

吃了第1个苹果
吃了第2个苹果
吃了第3个苹果
吃饱了,不吃了

continue当条件成立,退出当前一次循环,继续执行下一次的循环代码

# 二、continue当条件成立,退出当前一次循环,继续执行下一次的循环代码
# 吃5个苹果,循环,吃到第三个吃到一个虫子,第三个不吃了,继续吃4和5个苹果
i = 1
while i <= 5:
    # 条件
    if i == 3:
        print('吃了一个大虫子,这个苹果不吃了')
        i += 1  # 使用continue之前,一定要改变计数器
        continue
    print(f'吃了第{i}个苹果')
    i += 1

结果

吃了第1个苹果
吃了第2个苹果
吃了一个大虫子,这个苹果不吃了
吃了第4个苹果
吃了第5个苹果

注意:在使用continue之前,一定要改变计数器,否则会进入死循环

8、循环嵌套的案例

语法:(注意不要忘记计数器本身的++)

while 条件1:  # j
    条件1执行的代码
    while 条件2:  # i
        条件2执行的代码
        i += 1
    j += 1
        。。。

制定了两个变量,i和j,分别控制内外层

'''
1、循环打印三次,媳妇我错了
2、今天刷晚饭的碗
3、上面是一套循环,惩罚三天
'''
j=0
while j<3:
    i=0
    while i<3:
        print('媳妇我错了')
        i+=1
    print('刷晚饭的碗')
    print(f'第{j+1}套循环结束---------')
    j += 1

结果:

媳妇我错了
媳妇我错了
媳妇我错了
刷晚饭的碗
第1套循环结束---------
媳妇我错了
媳妇我错了
媳妇我错了
刷晚饭的碗
第2套循环结束---------
媳妇我错了
媳妇我错了
媳妇我错了
刷晚饭的碗
第3套循环结束---------

9、while循环嵌套的执行流程

在这里插入图片描述

三、while循环嵌套应用

3-1打印星号(正方形)

# 一、打印星号(正方形)
j = 0
while j < 5:
    # 一行星星开始
    i = 0
    while i < 5:
        print('*', end=' ')
        i += 1
    # 一行星星结束,换行显示下一行
    print()  #一定要顶格写,意味着不在i<5这个嵌套里面,不参与其循环,可以每5个进行一次换行;
    		 # 若是放置在i<5这个嵌套里,每一套星星(5个),每一个都是一行!
    j += 1  # 注意每次的计数器本身+1

结果

* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 

3-2打印星号(三角形)

打印三角形,找 i 和 j 之间的关系,注意等于号

# 二、打印三角形
# 每一行星星的个数和行号相同
j = 0
while j < 5:
    # 一行星星开始
    i = 0
    while i <= j:
        print('*', end=' ')
        i += 1
    # 一行星星结束
    print()
    j += 1

结果:

* 
* * 
* * * 
* * * * 
* * * * * 

3-3打印九九乘法表

j = 1
while j <= 9:
    # 一行表达式的开始
    i = 1
    while i <= j:
        print(f'{i}*{j}={i*j}', end='\t')
        i += 1
    # 一行表达式的结束
    print()
    j += 1

结果:

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

总结

i 和 j 循环嵌套是有一个联动关系的,做一些数据计算、数据算法的时候用的比较多。

四、for循环

1、语法

for 临时变量 in 序列
	重复执行的代码1
	重复执行的代码2
	....

2、实例

# for循环
str1 = 'happy'
for i in str1:
    print(i)

结果是

h
a
p
p
y

3、break和for循环配合使用——终止所有循环

# break控制for循环,当y时候,退出循环
str1 = 'happyday'
for i in str1:
    if i == 'y':
        break
    print(i)

h
a
p
p

4、continue和for循环配合使用——终止当前循环

# continue控制for循环,当等于y时,跳过,执行其他
str1 = 'happyday'
for i in str1:
    if i == 'y':
        continue
    print(i)

h
a
p
p
d
a

五、循环和else配合使用

1、while和else

语法

while 条件:
   条件成立重复执行的代码
else:
   循环正常结束之后要执行的代码



```markup
i = 1
while i <= 5:
    print('媳妇我错了')
    i+=1
else:
    print('媳妇原谅我了')

2、退出循环

在这里插入图片描述
break

# break
i = 1
while i <= 5:
    if i==3:
        break
    print('媳妇我错了')
    i+=1
else:
    print('媳妇原谅我了')
# 执行结果
# 媳妇我错了
# 媳妇我错了

continue

# continue
i = 1
while i <= 5:
    if i==3:
        i += 1
        print('这说的不真诚')
        continue  # 要写 i += 1
    print('媳妇我错了')
    i+=1
else:
    print('媳妇原谅我了,真好')
# 媳妇我错了
# 媳妇我错了
# 媳妇我错了
# 媳妇我错了
# 媳妇原谅我了,真好

总结:
在这里插入图片描述

在这里插入图片描述

3、 for和else的配合使用

str = 'qwer'
for i in str:
    print(i)
else:
    print('循环正常执行的代码')

q
w
e
r
循环正常执行的代码

4、三、break、continue退出循环和for的使用

4-1 break和for配合使用

str = 'qwert'
for i in str:
    if i == 'e':
        break
    print(i)
else:
    print('代码结束')

q
w

注意:break和for一起使用时候,break后面的语句不执行

4-2continue和for配合使用

# continue和for配合使用
str = 'qwert'
for i in str:
    if i == 'e':
        continue  # 不用写 i += 1
    print(i)
else:
    print('代码结束')

q
w
r
t
代码结束

总结

1、continue退出当前,继续执行,和for、while后面的else代码都会执行;break不正常结束,不会执行else代码
2、continue使用的时候,有数字的时候,记得计数
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值