while循环和for循环

一、循环

1、循环语句

本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次,Python 提供了 for 循环和 while 循环(在 Python 中没有 do…while 循环):

循环类型描述
while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体。
for 循环重复执行语句
嵌套循环你可以在while循环体中嵌套for循环

2、循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

控制语句描述
break 语句在语句块执行过程中终止循环,并且跳出整个循环
continue 语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句pass是空语句,是为了保持程序结构的完整性。

二、while循环语句

1、基本格式

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):
    执行语句(statements)……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假 false 时,循环结束。

相比for循环最大特点: 可以无限循环
细节:
1、True一般可以用数字1代表,False只能是0代表
2、非0即为True
3、None: 空的,无意义
4、无限循环一定要设置结束条件

2、基础应用

例1:要求打印’hello python’50次

# 需求: 要求打印'hello python'50次
"""
分析: 重复执行n次考虑用循环
循环条件: 小于50次继续循环
循环内容: 打印'hello python'
结束控制: 从第1次开始每次加1直到第50次完事结束
"""
# 1.定义变量赋初始值
i = 1
# 2.条件判断
while i <= 50:
    # 3.循环体
    print('hello python', i)
    # 4.条件控制
    i += 1

例2:求1-100的和示例

# 需求: while循环求1-100的和
"""
分析:利用循环中i能够不断自增的特点
设置i初始值1,不断自增到100结束
此时打印i其实就是打印1-100
"""

# 1.定义变量赋初始值
i = 1
# 循环外定义sum变量用于记录每次求和结果
sum = 0
# 2.条件判断
while i <= 100:
    # 3.循环体
    # 累加求和: sum =0 + 1 + 2 + 3 +...+100
    sum += i  # sum = sum + i
    # 4.条件控制
    i += 1

# 循环外使用最终sum结果
print(sum)

例3:无限循环示例

"""
无限循环: 又叫死循环,恒成立的条件,循环的内容如果不设置条件不会停下来
实现无限循环的方式:
    方式1: 正常的while循环,不加条件控制
    方式2: while循环条件用两个字面量比较结果是True
    方式3(建议): while循环条件直接用True
    方式4: while循环条件直接用1
注意: True一般用数字1代表,False只能用数字0代表
特点: 非0即为True
None: 在python代表空的没有意义的
注意: 循环一般要设置条件,满足对应条件跳出循环 使用关键字break
"""
while True:
    print('我停不下来了~')

例4:猜数字游戏-无限次数并统计次数

"""
需求: 编写猜数字(1-100)游戏的小程序,
要求只要猜不对就继续猜,直到猜中为止
并且需要统计猜中及之前一共猜了多少次
"""
# 1.random随机生成底数
import random

num = random.randint(1, 100)
print(num)
# 5.1循环外定义计数器,初始值0
count = 0
# 4.1无限循环(猜中为止,统计次数)
while True:
    # 循环体
    # 2.input获取用户猜的数
    guess = int(input('请您输入猜的数(范围1-100):'))
    # 5.2每猜一次,计数器统计一次
    count += 1
    # 3.上述两个数比较给出提示(猜中,大,小)
    if 1 <= guess <= 100:
        if guess == num:
            print('恭喜,猜中了!')
            # 4.2跳出循环
            break
        elif guess > num:
            print('猜大了!')
        else:
            print('猜小了!')
    else:
        print('输入有误!!!')

# 5.3循环外使用最终次数
print(f'您一共猜了{count}次,猜中了')


例5:打印九九乘法表

# 九九乘法表
# 外层循环控制行数
# 1.外层循环初始变量b
b = 1
# 2.外层循环条件判断
while b <= 9:
    # 3.整个内层循环都是外层循环的循环体
    a = 1
    while a <= b:
        print(f'{a}*{b}={a * b}', end='\t')
        a += 1
    # 每行内容打印完进行换行操作
    print()
    # 4.外层循环条件控制
    b += 1

三、for循环

1、基本格式

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式如下:

"""
for循环又叫遍历循环
遍历: 把元素依次从数据集中取出的过程
格式:
for 临时变量名 in 数据集:
    循环体
"""
# 需求: 已知字符串"Python大数据",要求把每个汉字依次打印出来
name = 'Python大数据'
# for循环遍历name
for i in name:
    print(i)

for循环: 又叫遍历循环,需要提前准备好数据集然后从中一个个取出达到循环效果


"""
for循环变量作用域: 仅限于当前for循环内部
	注意:python中即使在外部访问了它只有警告没有报错
while循环变量作用域: 所有循环内外都可以使用
"""

# 需求: for循环打印2,4,6,8,10
for a in range(2, 11, 2):
    print(a)
# for循环外部访问临时变量
print('for循环临时变量:', a)
print('----------------------------')
# 需求: while循环打印2,4,6,8,10
b = 2
while b < 11:
    print(b)
    b += 2
# while循环外部访问初始变量
print('while循环变量:', b)

range函数格式: range(x,y,z)
x: 初始值 注意: 默认是0,如果要是其他数手动写上
y: 结束值 注意: 不含y本身
z: 步长 注意: 默认是1,如果要是其他数手动写上

注意: 变量作用域规范上应该仅限于当前循环内部,但是python中如果外部访问了只会警告,不会报错

2、基础应用

例1:

"""
for循环又叫遍历循环
特点: 数据集需要提前准备好
"""
# 需求: for循环打印1-5
for i in range(1, 6):
    print(i)
print('----------------------------')
# 需求: for循环打印0-5
# 注意: 0可以省略
for i in range(6):
    print(i)
print('----------------------------')
# 需求: for循环打印2,4,6,8,10
for i in range(2, 11, 2):
    print(i)
print('----------------------------')
# 需求: while循环打印2,4,6,8,10
i = 2
while i < 11:
    print(i)
    i += 2
# 对比for循环和while循环看看有什么区别

学习了for遍历循环后再打印九九乘法表就会简单很多了,如下

# 外层循环变量i控制行数
for i in range(1, 10):
    # 整个内层循环都是外层循环的循环体
    for j in range(1, i + 1):
        # 注意: 同一行内容无需换行,使用\t加缩进即可
        print(f"{j}*{i}={j * i}", end="\t")
    # 每行内容打印完换行操作
    print()  # 默认有end='\n'

四、break和continue

1、break语句

作用:

Python中break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。 如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

示例:

# break: 跳出循环,结束循环
# 需求: 假设从18岁正常上班到99岁,要求60岁退休
for i in range(18, 100):
    if i == 60:
        print(f"终于{i}岁了,可以享受退休生活了...")
        # 跳出循环
        break
    # 循环体
    print(f"{i}岁了,正在上班...")

2、continue语句

作用:

Python中continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。

示例:

# continue: 结束本次循环,继续下一次循环
"""
需求: 半夜坐电梯,电梯一共1-20层,
正常每层都停,要求在4,14,18层不停
"""
for i in range(1, 21):
    if i == 4 or i == 14 or i == 18:
        continue
    # 循环体
    print(f'{i}层到了~')

注意:在嵌套循环中,continue和break只能作用在所在的循环上,无法对上层循环起作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早安Naor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值