06 - 循环嵌套、break和continue + 实例分析

1. 循环嵌套

  • Python 语言允许在一个循环体里面嵌入另一个循环。
  • 语法:
while 表达式:
   while 表达式:
      代码块
   代码块

for 变量 in 循环规则:
   for 变量 in 循环规则:
       代码块
   代码块

示例一:需要打印一个三角形

# *       i = 0   j < 1  j < i + 1
# **      i = 1   j < 2  j < i + 1
# ***     i = 2   j < 3  j < i + 1
# ****    i = 3   j < 4  j < i + 1
# *****   i = 4   j < 5  j < i + 1
i = 0
while i < 5:
    j = 0
    while j < i + 1:
        print('*', end='')
        j += 1
    print()
    i+= 1

实例二:在控制台输出99乘法表

# 在控制台输出99乘法表
# 1*1=1
# 1*2=2 2*2=4
# 1*3=3 2*3=6 3*3=9
# .........             9*9=81

i = 0
while i < 9:
    i += 1
    # 创建一个内层循环来控制图形的宽度
    j = 0
    while j < i:
        j += 1
        print(f'{j} * {i} = {i*j}', end='')
    print()

2. break和continue

  • break 可以用来立即退出循环语句,包括else语句
  • continue 用来跳过当初循环
# continue 可以用来跳过当次循环

i = 0
while i < 6:
    i += 1
    if i == 2:
        continue
    print(i)
else:
    print('hahaha')

输出结果
在这里插入图片描述

# break可以立即退出循环语句包括else语句
i = 0
while i < 6:
    i += 1
    if i == 2:
        break
    print(i)
else:
    print('hahaha')

输出结果
在这里插入图片描述

实例一:质数判断

获取用户输入的任意数,判断其是否是质数
质数只能被1和它本身整除的数就是质数 例如 2 3 5 7 11 13…

# 获取用户输入的任意数,判断其是否是质数
# 质数只能被1和它本身整除的数就是质数 例如 2 3 5 7 11 13...

# 获取用户输入的数
num = int(input('输入任意一个大于1的整数:'))

# 判断num是否是质数 被1和它本身整除
# 获取到有可能整除num的数

i = 2
# 创建一个变量 用来记录num是否是质数 默认是质数
flag = True
while i < num:

    # print(i)
    # 判断num能否被i整除
    # 如果num能够整除i则说明num一定不是质数
    if num % i == 0:
        # 一旦进入判断 则证明flag不是质数
        flag = False
        # print(num)
    i += 1
if flag:
    print(num,'是质数')
else:

    print(num,'不是质数')

示例二:质数练习

#求100以内所有的质数
#求出2-100以内所有的数
i = 2
while i <= 100:
    # print(i)
    # 创建一个变量 记录i是否是质数默认flag是质数
    flag = True
    j = 2
    while j < i:
        # 判断i是否能被j整数
        if i % j == 0:
            # i能被j整除 证明i一定不是质数
            flag = False
        j += 1
    if flag:
        print(i)
    i += 1

质数练习优化①

from time import *

# 获取程序开始的时间
start = time()
i = 2
while i <= 100000:
    flag = True
    j = 2
    while j < i:
        if i % j == 0:
            flag = False
            # 一旦进入循环 则证明i一定不是质数 此时内层循环没有必要再执行下去
            # 使用break退出内层循环
            break
        j += 1
    if flag:
        # print(i)
        pass
    i += 1
# 获取程序结束的时间
end = time()

# 计算程序所执行的时间,假设以秒为单位
print('程序执行了:',end-start,'秒')

质数练习优化②

from time import *

# 获取程序开始的时间
start = time()
i = 2
while i <= 100000:
    flag = True
    j = 2
    while j <= i ** 0.5:
        if i % j == 0:
            flag = False
            # 一旦进入循环 则证明i一定不是质数 此时内层循环没有必要再执行下去
            # 使用break退出内层循环
            break
        j += 1
    if flag:
        # print(i)
        pass
    i += 1
# 获取程序结束的时间
end = time()

# 计算程序所执行的时间,假设以秒为单位
print('程序执行了:',end-start,'秒')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值