Python入门到精通(三)——Python循环语句

发布时间:2024年01月19日

Python循环语句

一、while 循环

1、基础语法

2、嵌套应用

二、for 循环

1、基础语法

2、嵌套应用

三、循环中断:break 和 continue

1、break

2、continue

四、综合案例


一、while 循环

?1、基础语法

  • while的条件需得到布尔类型,True表示继续循环,False表示结束循环
  • 需要设置循环终止的条件,如i += 1配合 i < 100,就能确保100次后停止,否则将无限循环
  • 空格缩进和if判断一样,都需要设置

练习题 1

代码示例

# 练习题1:求1-100和
sum = 0
n = 1
while n <= 100:
    sum += n
    n += 1
print(f"1加到100的和为:{sum}")

输出

练习题 2

代码示例

# 练习题2:猜数字(无限次机会)
import random
num = random.randint(1, 100)
# 定义一个变量总共猜了几次
count = 0
# 通过一个布尔类型变量,做循环是否循环的标记
flag = True
while flag:
    guess_num = int(input("输入你要猜测的数字:"))
    count += 1
    if guess_num == num:
        print("恭喜你,猜中了!!!")
#         设置为False就是终止循环条件
        flag = False
    else:
        if guess_num > num:
            print("你猜的大了")
        else:
            print("你猜的小了")
print(f"你总共猜测了{count}次")

输出

2、嵌套应用

语法

  • 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
  • 基于空格缩进来决定层次关系
  • 注意条件的设置,避免出现无限循环(除非真的需要无限循环)
  • print输出不换行: print语句中加上 end=‘ ’
  • 输出对齐:添加 \t 制表符

练习题

代码示例

# 定义外层循环控制变量
i = 1
while i <= 9:
    #  定义内层循环变量
    j = 1
    while j <= i:
        # 不换行,用\t制表符进行对齐
        print(f"{j}*{i}={j * i}\t", end='')
        j += 1
    i += 1
    # 控制换行的输出
    print()

输出

二、for 循环

1、基础语法

?(1)for循环是一种”轮询”机制,是对一批内容进行”逐个处理”

  • 从待处理数据集中:逐个取出数据赋值给临时变量
  • 无法定义循环条件,只能被动取出数据处理
  • 要注意,循环内的语句,需要有空格缩进

代码示例

# 统计以下字符串有多少个"a"
name = "csdn Professional IT technology publishing platform"
count = 0
for x in name:
    if x == "a":
        count += 1
print(f"该字符串里有{count}个'a'")

输出

(2)range 语句

语法1

range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

for i in range(5):
    print(i)  # 0 1 2 3 4

语法2

range(num1,mun2)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

for i in range(5, 10):
    print(i)  # 5 6 7 8 9

语法3

range(num1, num2, step)

  • 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
  • 数字之间的步长,以step为准(step默认为1)
for i in range(5, 10, 2):
    print(i)  # 5 7 9

练习题

代码示例

# 练习题
count = 0
num = int(input("请输入一个数:"))
for x in range(1, num):
    if x % 2 == 0:
        count += 1
print(f"1到{num}(不包含{num}本身)范围内,有{count}个偶数")

输出

?规范:如果在循环外访问变量,需要再循环之前对变量进行定义

2、嵌套应用

和需要注意缩进,通过缩进,确定层次关系

练习题

代码示例

# 定义外层循环控制变量
for i in range(1, 10):
    #  定义内层循环变量
    for j in range(1, i + 1):
        # 不换行,用\t制表符进行对齐
        print(f"{j}*{i}={j * i}\t", end='')
    # 控制换行的输出
    print()

输出

?????????????????????????????????????????? 和 while 循环比,代码更加简洁了!

?Tips:for 循环和 while 循环可以相互嵌套使用

三、循环中断:break 和 continue

1、break

直接结束所在循环,它所在的循环永久中断

代码示例

# break的使用 只要遇到整体结束
for i in range(1,3):
    print("语句1")
    for j in range(1, 3):
        print("语句2")
        break
        print("语句3")  # 此代码不可到达
    print("语句4")

输出

2、continue

中断本次循环,直接进入下一次循环(只可以控制:它所在的循环临时中断)

代码示例

# continue的嵌套应用 只要遇到 此次结束
for i in range(1, 3):
    print("语句1")
    for j in range(1, 3):
        print("语句2")
        continue
        print("语句3")  # 此代码不可到达
    print("语句4")

输出

四、综合案例

练习题

代码示例

# 定义账户余额变量
money = 10000
# for循环对员工发放工资
for i in range(1, 21):
    import random
    score = random.randint(1,10)
    if score < 5:
        print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
        # 跳过发放
        continue

    # 要判断余额足不足
    if money >= 1000:
        money -= 1000
        print(f"员工{i},满足条件,发放工资1000,公司账户余额:{money}")
    else:
        print(f"余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再来")
        # 结束发放
        break

输出

文章来源:https://blog.csdn.net/momohhhhh/article/details/135664822
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。