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,'秒')