python循环语句之while循环和for循环

1. while 循环

1.1 介绍

1.1.1 生活中的循环

在这里插入图片描述
在这里插入图片描述

1.1.2 程序中的循环

跟媳妇承认错误,说一万遍"媳妇儿,我错了"

print("媳妇儿,我错了")
print("媳妇儿,我错了")
print("媳妇儿,我错了")
...(还有9997)...

在这里插入图片描述
使用循环语句一句话搞定

i = 0
while i < 10000:
    print("媳妇儿,我错了")
    i += 1

1.2 总结

while 循环:
在这里插入图片描述
注意
设置终止条件,否则会产生死循环

2. while循环应用:1~100求和

2.1 需求

计算1~100的累加和(包含1和100)

2.2 分析

①:设置终止变量
i = 1
②:设置累加和变量
sum = 0
③:循环100遍
while i <= 100:
④:累计求和
sum = sum + i
⑤:设置终止条件
i += 1
print(“1~100的累加和为:%d” % sum)

i = 1
sum = 0
while i <= 100:
	    sum = sum + i
	    i += 1
print("1~100的累加和为:%d" % sum)

3. while嵌套循环以及运用

3.1 while嵌套循环语句的语法格式

在这里插入图片描述

3.2 while嵌套循环使用

3.2.1 要求

打印如下图形:
图形一
在这里插入图片描述
图形二
在这里插入图片描述

3.2.2 参考代码

图形一参考代码

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

图形二参考代码

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

4. for循环

4.1 for循环基本格式

for 临时变量 in 列表或者字符串等: 循环满足条件时执行的代码

4.2 for循环和while循环的区别

  • 相同点:(功能完成上)
    while循环可以完成的功能for循环基本都可以实现, for循环可以完成的功能while循环基本也都可以实现.
  • 不同点:(选择使用上)
    for循环往往用在遍历 字符串 列表等
    while循环往往用在重复多次运行上

4.3 遍历字符串案例

案例一:

# 定义字符串name
name = "hello"
# 遍历字符串
for x in name:
       print(x)

案例二:

#定义字符串name
name = "hello"
#遍历字符串
for x in name:
      print(x)
      #如果x为l则打印"Hello world!"
      if x == "l":
            print("Hello world!")

案例三:指定次数循环

#range(5)表示可以循环5次, 同时i可以获取0~4的数值
for i in range(5):
      print(i)
#效果等同于 while 循环的:
i = 0
while i < 5:
      print(i)
      i += 1

注意
临时变量只在for循环内部使用, 不在for循环外部使用

5. 循环中断:break和continue

5.1 循环中断break和continue的区别

如果把while和for这样的循环比作上班族从 公司A 到 家B 这两点一线不停的循环,
上班去 公司A 下班回家B 日复一日在这样的循环中进行。
break就好比辞职了不再上班了, 彻底中断了这个循环。
continue就好比请了1天假, 请假的这1天不上班, 假期结束了还需要继续上班。
相当于10次循环中,终止第4次循环然后继续第5次,6次,7次…循环。

5.2 break在for循环中的使用

没有break的for循环

name='python'
for x in name:
      print('------')
      print(x)
else:
      print("==for循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:
在这里插入图片描述
有break的for循环

name='python'
for x in name:
      print('------')
      if x=='t':
            break
      print(x)
else:
      print("==for循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:
在这里插入图片描述

5.3 break在while循环的使用

没有break的while循环

i=0
while i<5:
      i+=1
      print('------------------------')
      print(i)
else:
      print("==循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:
在这里插入图片描述
有break的while循环:

i=0
while i<5:
      i+=1
      print('------------------------')
      if i==3:
            break
      print(i)
else:
      print("==循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:
在这里插入图片描述
注意
break的作用:
立刻结束break所在的循环

5.4 continue在for循环的使用

带有continue的循环示例如下:

name='zhangsan'
for x in name:
      print('-------------------------')
      if x== 'e':
            continue
      print(x)
else:
      print("==循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:
在这里插入图片描述
带有continue的循环示例如下:

i=0
while i<5:
      i+=1
      print('-------------------------')
      if i == 3:
            continue
      print(i)

运行结果:
在这里插入图片描述

5.5 总结

break的作用:
立刻结束break所在的循环
continue的作用:
用来结束本次循环,紧接着执行下一次的循环

注意:

  • break/continue只能用在循环中,除此以外不能单独使用
  • break/continue在嵌套循环中,只对最近的一层循环起作用

6. 报数字游戏

6.1 游戏规则

在这里插入图片描述
一些同学从1开始报数,当需要报出的数字尾数是7或者该数字是7的倍数时,则该同学跳过这个数字,不进行报数。所有同学都参与游戏后,游戏结束。如输入学生数量为50,游戏结束后,报数的同学数量为39。
在这里插入图片描述

6.2 实现

n = int(input('请输入学生的数量:'))
count = 0
for i in range(1, n+1):
      if i % 7 == 0:
            continue
      if i % 10 == 7:
            continue
      else:
            count += 1
print('报数同学的数量%d'%count)

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值