Python第三天:循环
一、循环
1.循环:批量执行某些重复的事情。
2.循环关键字:for、in、while、break、continue、else。
(一)range(M,N,step)
1.M代表起始范围(不写默认为0,但是有step时必须写)。
2.N代表结束范围(必写)。
3.M,N组成左闭右开区间。
4.step叫做步长,可以使用step跨指定宽度获取元素。
(1)step = 1 时可以不写(step默认为1)。
(2)step为正整数时表示正向取元素。
(3)step为负整数时表示逆向取元素。
# range(1,100,1) 从[1,100)中连续获取每一个整数
# range(1,100,5) 从[1,100)中每间隔4个元素获取一个整数(从[1,100)中连续获取每一个整数)
for i in range(1,101,1):
print(i)
for i in range(1,101,5):
print(i)
# range(101) 从[0,101)中连续获取每一个整数
for i in range(101):
print(i)
# range(100, 1, -1) 逆向取元素,从[100,1)中连续获取每个整数
for i in range(100, 1, -1):
print(i)
(二) for循环
for循环语法:
for 变量 in 容器:
代码块
注意:
1.for循环执行次数根据容器中元素个数确定。
2.for循环每次执行,变量都会从容器中按照顺序获取元素。
3.for循环执行次数确定。
# for循环
# 案例:计算1-100的和
total = 0 # 初始值
for i in range(1,101): # 左闭右开区间
# print(i)
total += i
# print(total)
print(total)
(三)while循环
while循环语法:
while 条件:
代码块
1.当条件成立时while循环才能够正常执行。
2.while循环适合次数不确定的程序,也可以用来对次数确定的程序编程。
total = 0
i = 1
while i <= 100:
total += i
i += 1 # 让i自己加1
print(total)
(四)break、continue
1.break: 结束其所在循环的执行。
2.continue: 结束其所在循环的本次循环,之后的代码不执行。
# continue
for i in range(1, 11):
if i % 2 == 0:
continue
else:
print(i)
# break
# 练习:猜数字游戏,如果猜大了,提示再小一点;
# 如果小了,提示再大一点;猜对了直接结束程序
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 # 不写的话程序会一直执行
(五)嵌套循环
1.for循环和while循环都可以嵌套。
2.end 表示结束,默认以空格结束。
3.\t: 表示制表符空四格,能够将打印结果的长度补全为四的倍数。
以打印九九乘法表为例:
# 练习:打印九九乘法表。
# 基本思想:一行打印完之后以空格结尾,然后换行打印下一行
# 外层循环代表行
for i in range(1, 10):
# 内层循环代表列
for j in range(1, i + 1):
# print(i, j)
# end 表示结束的东西,默认一个空格
# \t表示制表符空四格,能够将打印结果的长度补全为四的倍数
# print(f'{i}x{j}={i * j}', end='\t')
print('{}*{}={:<3}'.format(i, j, i * j), end=' ')
# 换行在内层循环执行一次才换行
print()
(六)for-else循环
for-else循环语法:
for 变量 in 容器:
代码块
else:
代码块
1.for循环非正常结束时(含有break或者continue),else语句不执行。
2.for循环正常结束时,触发else语句。
下面以打印素数为例:
# 素数:只有1和本身两个因子的大于1的正整数。
# 练习:找出100以内所有的素数。
for i in range(2, 101):
if i == 2:
print('2是素数')
else:
for j in range(2, i):
if i % j == 0:
print(f'{i}不是素数')
break # 结束,非正常结束,不执行else语句
else:
print(f'{i}是素数')
二、安装三方模块
(一)修改python镜像源
阿里云、华为云、豆瓣、大学名称
以豆瓣为例:
pip config set global.index-url https://pypi.douban.com/simple
(二)安装第三方模块
方法一:
windows: pip install tqdm(模块名)
maxoc(苹果): pip3 install tqdm(模块名)
方法二:
使用pycharm提供的可视化安装。
widnows --> file -> settings -> project -> python interpreter -> +
mac --> pycharm -> preferences -> project ->python interpreter -> +
使用第三方模块(进度条):
from tqdm import tqdm
# 有进度条不能有print、有print不能有进度条
# tqdm(容器)
# tqdm在内层
for i in range(1, 10):
for j in tqdm(range(1, 100)):
pass
# tqdm在外层
for i in tqdm(range(1, 10)):
for j in range(1, 100):
pass