循环
批量的执行某些重复的事情。
循环关键字:for、in、while、break、continue、else
for循环
案例:计算1-100的和
total = 0
for i in range(1, 101):
total += i
print(total)
-
for循环语法for 变量 in 容器: 代码块for循环执行次数根据容器中元素个数确定for循环每次执行,变量都会从容器中按照顺序获取元素
计算1-100阶乘 total = 1 for i in range(1, 101): total *= i print(total) -
range函数-创建一个等差数列range(M,N,step)-
M代表起始范围(默认为0),N代表结束范围,M、N组成左闭右开区间
-
step步长,可以使用steo跨指定宽度获取元素(step默认为1)
-
range(1, 100, 1) -> 从[1,100)中连续获取每一个整数。
-
range(1, 100, 5) -> 从[1,100)中每间隔4个元素获取一个元素(从[1,100)中每获取一个元素+5)
-
step为正整数时表示正向取元素,step为负整数表示逆向取元素
for i in range(1, 100, 5): print(i) -
range(101) -> 从[0,101)中连续获取每一个整数
for i in range(101): print(i) -
range(100, 1, -1) ->从[100, 1)中连续获取每个整数
-
练习:对100以内偶数求和
total_1 = 0 for i in range(0, 101, 2): total_1 += i print(total_1) -
while循环
-
for循环执行次数确定。
-
while循环适合次数不确定的程序,也可以用来对次数确定的程序编程。
while循环语法:
while 条件:
代码块
当条件成立时while循环才能够正常执行
total = 0
i = 1
while i <= 100:
total += i
i += 1
print(total)
break continue
-
break: 结束其所在的循环执行(执行循环体的时候如果遇到了
break,那么整个循环直接结束 - 循环体剩下的部分不执行,也不再进入下次循环) -
continue: 结束其所在循环的本次循环(每次在执行循环体的时候如果遇到了
continue,那么这次循环结束直接进入下次循环)
for i in range(1, 11):
if i % 2 == 0:
continue
else:
print(i)
练习:猜数字游戏。
如果猜大了,提示再小一点;如果猜小了,提示再大一点;如果猜对了,直接结束程序
from random import randint
num = randint(1, 100)
while True:
myNum = int(input('请输入一个整数(0-100)'))
if myNum > num:
print('再小一点')
elif myNum < num:
print('再大一点')
else:
print('猜对了')
break
二分法可保证100以内的数字在7次之内猜中数字
else
for-else语法,for循环非正常结束时else语句不执行。for循环正常结束,触发else语句。
for -else语法:
for 变量 in 容器:
代码块
else:
代码块
练习:找出100以内所有的素数。
# 素数: 只有1和本身两个因子的大于1的正整数叫素数。
for i in range(2, 100):
if i == 2:
print('2是素数')
else:
for j in range(2, i):
if i % j == 0:
print(f'{i}不是素数')
break
else:
print(f'{i}是素数')
while-else语法:
while 条件语句:
循环体
else:
代码段
else的存在并不会影响原来的循环的执行;
如果循环自然死亡,循环结束后会执行else后面的代码段;
如果循环是因为遇到break而结束的,那么else后面的代码就不会执行
嵌套循环
-
for循环和while循环都可以嵌套。
-
for循环中变量如果没有被使用,可以简写为_
for _ in range(5): for j in range(1, 11): print(j) # 1-11输出5次
练习:打印九九乘法表
# 外层循环代表行
for i in range(1, 10):
# 内层循环代表列
for j in range(1, i + 1):
# 补充:\t: 能够将打印结果的长度补全为4的倍数
print(f'{i}x{j}={i*j}', end='\t')
print('{}*{}={:<3}'.format(i, j, i*j), end='')
print()
补充:\t: 能够将打印结果的长度补全为4的倍数
安装第三方模块
-
修改Python镜像源:阿里云、华为云、豆瓣、华中科技大学等等镜像源
pip config set global.index-url https://pypi.douban.com/simple

-
安装三方模块
-
pip install模块名
windows系统:
pip install tqdmMacOS:
pip install tqdm -
使用pycharm提供的可视化安装。
windows --> file -> settings ->project -> python interpreter -> +MacOS -> pycharm -> preferences -> project ->python interpreter -> +
-
进度条的使用
-
导入第三方模块
from tqdm import tqdm -
有进度条不能有print、有print不能有进度条。
(同时存在会找不到进度条)
-
tqdm(容器)
for i in tqdm(range(1, 100000000)):
pass
# 100%|██████████| 99999999/99999999 [00:13<00:00, 7145108.89it/s]
for i in range(1, 5):
for j in tqdm(range(1, 100)):
pass
"""
100%|██████████| 99/99 [00:00<?, ?it/s]
100%|██████████| 99/99 [00:00<?, ?it/s]
100%|██████████| 99/99 [00:00<?, ?it/s]
100%|██████████| 99/99 [00:00<?, ?it/s]
"""
for i in tqdm(range(1, 5)):
for j in range(1, 100):
pass
# 100%|██████████| 4/4 [00:00<?, ?it/s]
本文详细介绍了Python中的循环结构,包括for循环和while循环的使用,以及break和continue语句的控制功能。通过实例展示了计算序列之和、阶乘、查找素数以及实现九九乘法表的方法。此外,还提到了使用`tqdm`库实现进度条的技巧,以及如何安装和使用第三方模块。文章最后讨论了嵌套循环和循环控制的灵活性,强调了在不同场景下选择合适循环结构的重要性。

1万+

被折叠的 条评论
为什么被折叠?



