python_循环

一、while循环的基础语法
程序中的循环:
while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    ......
即只要条件满足,会无限循环执行
代码示例:
# 简单示例:向Vivian表白100次

i = 0
while i < 100:
    print("Vivian,我喜欢你!")
    i +=1
1.while的条件需为bool类型,True表示继续循环,False表示结束循环
2.需要设置终止循环的条件,如i +=1配合i<100,就能确保100后停止,否则将会无限循环
3.空格缩进
练习 利用while实现1-100求和
# 练习-求1-100的和
i = 1
re = 0
while i <=100:
    re += i
    i += 1
print(re)
二、while循环猜数字案例
# 设置1-100范围的随机数,通过while循环配合input判断输入的数字是否相等
import random
num = random.randint(1,100)
# 定义变量记录猜测的次数
count =0
# 定义一个bool类型的变量,作为是否继续循环的标记
flag = True
while flag:
    guess_num = int(input("请输入你猜测的数字:"))
    count += 1
    if guess_num == num:
        print("恭喜你,猜对啦")
        # 利用flag来终止循环
        flag = False
    else :
        if guess_num < num:
            print("猜小了")
        else :
            print("猜大了")
print(f"你猜测了{count}次")
三、while的循环嵌套
# 为while的嵌套语法
# 表白100天,每次都送10朵玫瑰花
# 外:表白100天;内:每天送10只花
i = 1
while i <= 100:
    print(f"今天是第{i}天,准备表白")
    # 内层控制玫瑰花
    j = 1
    while j <= 10:
        print("送给小美%s枝玫瑰花" %j)
        j += 1
    print("小美我喜欢你")
    i += 1

print(f"表白了{i-1}次,表白成功")
注意事项:
1.注意条件的控制,避免无限循环
2. 多层嵌套,主要使用空格缩进来确定层次关系
四、while循环的潜逃案例
使用while嵌套循环打印9*9乘法表
补充知识点:
1、输出不换行--在print语句中,加上end=''即可
2、制表符\t   (换行\n)
\t 相当于tab键 可以实现多行字符串对齐
打印出的乘法表
# while实现九九乘法表
# 外层控制行 内层控制行的内容
i = 1
while i <= 9:


    j = 1
    while j <= i:
        print(f"{j}*{i}={j*i}\t",end='')
        j += 1
    i += 1
    print()
五、for循环的基础语法
1.基础语法
for循环是一种‘轮询’机制,对内容进行逐个处理
程序中的for循环语法:
for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码
#定义变量
name = "springbear"
#使用for循环遍历
for X in name:
    # 将变量name中的内容挨个取出赋予X临时变量
    print(X,end='')
可以看出,for循环是将字符串的内容-- 依次取出 ;因此for循环也被称作: 遍历循环
 
注意:循环内的语句要有空格缩进
# 练习 数一数字符串中有几个a (区分大小写的)
# 定义字符变量
name = input()
flag = input()
# 定义一个计数变量
count = 0
for X in name:
    if X == flag:
        count += 1
print(f"{name}中含有:{count}个{flag}")

2.range语句
  for循环语句本质是遍历:序列类型(目前除了 字符串外其他的类型--列表、元祖等没接触过)但是不影响我们学习range 获得一个简单的数字序列
# 练习案例-求有多少个偶数
num = 100
count = 0
for X in range(1,num):
    if X % 2 == 0:
        count += 1
print(f"1-{num}(不含109)范围内,有{count}个偶数")
3.for循环变量作用域:
for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码
临时变量,在编程规范,作业范围(作用域),只限定在for循环内部
如果在for循环外部访问临时变量:
  • 实际上可以访问
  • 在编程规范,不不允许不建议如此操作
# 语法3 range(num1,num2,step)
for X in range(2,10,2):
    print(X)
    # 从2开始到10结束,不包含5本身并且步长为2-数字间隔为2
print(X) # 有警告但是没有报错,可以运行,但是不符合代码规范
如果想在for循环之外正常访问临时变量,可以在for循环语句之前先定义临时变量
六、for循环的嵌套使用
同while一样,for循环也支持嵌套使用
for 临时变量 in 待处理数据集:
    循环满足的条件1
    .....
    循环满足的条件N
    ....
    for 临时变量 in 待处理数据集:
        循环满足的条件1
        .....
        循环满足的条件N
注意空格缩进
# 每天表白,坚持100天,每天送10朵花
i = 0
for i in range(1,101):
    print(f"今天是向小美表白的第{i}天。")
    # 内层控制送花
    for j in range(1,11):
        print(f"给小美送的第{j}朵花")
    print("我喜欢你,小美")
print(f"第{i}天,表白成功")
for循环嵌套注意点:
1.空格缩进
2.for循环和while循环可以互相嵌套使用
# for循环实现九九乘法表
for i in range(1,10):  # 外层控制行
    for j in range (1,i+1):  # 内层控制每一行输入内容
        print(f"{j}*{i}={j*i}\t",end='')
    print()
七、循环中断: break 和 continue 关键字控制循环
在循环的重复过程中,会有一些特殊情况使得:
  • 暂时跳过某次循环,直接进行下一步  
  • 提前退出循环,不再继续   break
1、continue--中断本次循环直接进入下一循环 用于for/while 效果一样  临时中断
# 演示continue语法以及输出
for i in range(1,5):
    print("语句1")
    continue
输出:
语句1
语句1
语句1
语句1
# 演示continue语法嵌套以及输出
for i in range(1,5):
    print("语句1",end='')
    for j in range(1,3):
        print("语句2",end='')
        continue   # 作用范围在所在的循环中,对外层循环没有影响力
        print("语句3",end='') # 语句3被中断
    print("语句4")
输出;
语句1语句2语句2语句4
语句1语句2语句2语句4
语句1语句2语句2语句4
语句1语句2语句2语句4
2、break--直接结束循环,用于for/while 效果一样  永久中断
# # 演示break语法以及输出
for i in range(1,5):
    print("语句1")
    break
    print("语句2")  # 因为遇到break整个循环中断
print("语句3")
输出:
语句1
语句3
# 演示break语法嵌套以及输出
for i in range(1,5):
    print("语句1",end='')
    for j in range(1,3):
        print("语句2",end='')
        break
        print("语句3",end='')
    print("语句4")
输出:
语句1语句2语句4
语句1语句2语句4
语句1语句2语句4
语句1语句2语句4
注意:
continue和break在嵌套循环中,只作用于所在的循环,无法对上层循环起作用
---------------------------------------------------------------------------------------------------------------转载注明出处
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值