Python学习笔记 3.0 while与循环

循环

一、循环简介

1.1 循环的作用:让代码更高效的重复执行
1.2 循环的分类:在python中,循环分为while和for两种,最终实现效果相同

二、while的语法

while 条件:
    条件成立重复执行的代码
     …
实例:
在这里插入图片描述
循环计数器的习惯写法:计数器起始为0; 将 <= 改为 <;即i = 0 i <5
若使用debug,将鼠标指针悬停在i<5上面会显示布尔值,以判断循环是否接着执行

应用一、循环应用之累加到100:

做题顺序:

  1. 准备做加法运算的数据 1-100 增量为1
  2. 准备变量保存将来运算的结果
  3. 循环做加法运算
  4. 打印结果
  5. 验证结果正确性

在这里插入图片描述

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

方法一:条件判断和2取余数则累加
做题思路:

  1. 准备累加的数字 开始1 结束100 增量1
  2. 准备保存结果的变量result
  3. 循环加法运算 – 如果是偶数菜加法运算 – 和2取余数为0
  4. 输出结果
  5. 验证结果
 i = 1
result = 0
while i <= 100:
    # 条件语句 -- if
    if i % 2 == 0:
        # 加法运算
        result += i
    i += 1
# 输出结果
print(result)

方法二: 计数器控制(增量为2)

i = 0
result = 0
while i <= 100:
    result += i
    i+=2
print(result)

显然更加方便….
但是第二种是有人的运算所引导出来的方法,而第一种则是由计算器进行的运算方法,所以在正在进行大规模运算的时候,第一种交由计算器的方法更加合理。
一定要有计数器的累加,否则会陷入死循环

三、认识break和continue

break和continue是循环中满足一定条件退出循环的两种不同方式。

1. 理解

在这里插入图片描述

2. break实例:

i = 1
while i <= 5:
    #条件语句: 如果吃到4 或 >3 打印吃饱了不吃了
    if i == 4:
        print('吃饱了,不吃了')
        break
    print(f'吃了第{i}个苹果')
    i += 1

在这里插入图片描述

3.continue错误实例:

i = 1
while i <= 5:
    # 条件
    if i == 3:
        print('吃出一个大虫子,这个苹果不吃了')
        continue
    print(f'吃了第{i}个苹果')
    i += 1

错误结果:这样将会导致编译器不断输出:吃出一个大虫子,这个苹果不吃了
错误原因:在if判断语句中,由于continue的存在,导致程序不断跳出本次循环从而到达不到计数器使得计数器i+1,从而陷入了死循环。
解决方法1:在if 判断语句和 continue 之间插入 i += 1,使得计数器能够增加,得以跳出死循环
解决方法2:将if语句调制原本循环语句中计数器 i += 1 之后,这样就算跳出了循环也可以让计数器得以增加。

四、while的嵌套

1.语法:

While 条件1:
   条件1成立执行的代码
   ………
   While 条件2:
   条件2成立执行的代码
   ……

2.实例

三、	j = 0

while j < 3:
    i = 0
    while i < 3:
        print("\润润子/")
        i += 1
    print("直接起飞")
    print("应援结束--------")
    j += 1

在这里插入图片描述

4.理解执行流程

当内部循环执行完成之后,再执行下一次外部循环的条件判断。
在这里插入图片描述

5.应用

  1. 打印正方形的星号
i = 0
while i < 5:
    j = 0
    while j < 5:
        print("*", end=" ")
        j += 1
    i += 1
    print()

在这里插入图片描述
显而易见的:使用单循环,在每一次循环输出5个星星,然后输出换行
2. 打印三角形的星号
可以在上面程序的基础之上进行修改

while i < 5:
    j = 0
    while j <= i:
        print("*", end=" ")
        j += 1
    i += 1
    print()

在这里插入图片描述
3. 打印99乘法表
可以在上面程序的基础之上进行修改

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{i} * {j} = {i * j}", end="\t")
        j += 1
    print()
    i += 1

注意 i 和 j 的联动关系
在这里插入图片描述

五、for循环

1.语法

for 临时变量 in 序列:
	重复执行的代码
	……

临时变量是程序员自己自定义的;序列一般指代的是数据序列。
实例:

str1 = "hello world"
for i in str1:
    print(i, end="\t")

在这里插入图片描述

2.break在for循环中的应用:

r1 = 'helloworld'
for i in  str1:
    if i == 'e':
        print('遇到e停止打印')
        break
    print(i, end='\t')

在这里插入图片描述

3.continue在for循环中的应用:

str1 = 'helloworld'
for i in str1:
    if i == 'e':
        print('遇到e停止打印')
        continue
    print(i, end='\t')

在这里插入图片描述

六、else在循环中的应用

循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。

1.While…else:

在这里插入图片描述

i = 0
while i < 5:
    print("\润润子/")
    i += 1
else:
    print("应援结束")

在这里插入图片描述
备注:和去掉else是一样的,目前不知道有什么区别。应该是需要配合break使用;在使用break跳脱出循环的时候是不算循环正常结束
在这里插入图片描述

2.退出循环的方法:

1.break

i = 1
while i <= 5:
    if i == 3:
        print('应援不够大声')
        break
    print('\ rrz/')
    i += 1
else:
    print("应援结束")

在这里插入图片描述
2.continue;

i = 1
while i <= 5:
    i += 1
    print('\ rrz/')

    if i == 3:
        print('应援不够大声')
        continue

else:
    print("应援结束")

3.for… else
①语法:
在这里插入图片描述
②实例:

str1 = 'helloworld'

for i in str1:
    print(i, end='\t')
else:
    print('循环正常结束执行的else代码')

在这里插入图片描述
③break终止循环:

str1 = 'helloworld'
for i in str1:
    if i == 'l':
        break
    print(i, end='\t')
else:
    print('循环正常结束执行的else代码')

在这里插入图片描述

str1 = 'helloworld'

for i in str1:
    if i == 'l':
        continue
    print(i, end='\t')
else:
    print('循环正常结束执行的else代码')

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值