for循环
for循环与while循环的区别:
除了while循环语句外,Python同样提供了for循环语句。
两者能完成的功能基本差不多,但仍有一些区别:
- while循环的循环条件是自定义的,自行控制循环条件
- for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
for循环的语法 :
for 临时变量 in 被处理的数据集(序列)
循环满足条件时执行的代码
来个实例:
定义字符串变量为sentence,内容为:i started missing you as soon as we said goodbye.(中文意思为:刚说了再见,就开始想念。可以拿去送给小姑娘哦~)
通过for循环,遍历此字符串,统计有多少个英文字母"i"
那么怎么做才可以得到想要的结果呢:
- 先定义出来变量用于存储短句
- 遍历短句
- 创建变量count用于存储符合条件的字母的数量
- 如果短句内有符合条件的字母,将count进行++
- 最后打印输出count即可
实际的符合条件的字母数量:
直接上代码:
def func05():
sentence = "i started missing you as soon as we said goodbye."
count = 0
for word in sentence:
if word == 'i':
count += 1
print(f'符合条件的字母数量为:{count}')
运行结果:
是的,答案正如我们所想
range语法
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(3)取得的数据是:
左闭右开区间:[0, 1, 2, 3)
或者可以表示为:
纯闭区间: [0, 1, 2]
for i in range(3):
print(i)
语法2:
range(num1, num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
如:range(3, 6)取得的数据是:[3, 4, 5]
for i in range(3, 6)
print(i)
语法3:
range(num1, num2, step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的补偿,一steo为准(step默认为1)
如:range(3, 9, 2)取得的数据为:[3, 5, 7]
for i in range(3, 9, 2):
print(i)
练习案例:
定义一个数字变量num,内容随意
使用range()语句,获取从1到num的序列,使用for循环遍历他,在遍历过程中,统计有多少偶数出现
分析:
- 先定义一个num,用于遍历
- 如何判断为偶数:一个数除以2为0即为偶数
代码:
def func06():
# 如果不想给定某个数的话,可以使用input去自己输入一个数,记得加eval转换为数字类型
num = 20
print('遍历过程中的偶数为:')
for i in range(num):
if i % 2 == 0:
# end = ""表示的是不换行打印输出下一条内容,上个博客我提到过
print(f'{i}\t', end = "")
变量作用域
看一段代码:
有提示,怎么去解决这个提示呢:
如下:
原理解释:
如果想要在for循环外部去使用临时变量,那么可以在for循环之前定义好这个变量,这样在执行for循环的时候就是覆盖的操作了
循环的嵌套
for循环 或 while循环:
循环满足条件应做的事情1
循环满足条件应做的事情2
……
循环满足条件应做的事情n
for循环 或 while循环:
循环满足条件应做的事情1
循环满足条件应做的事情2
……
循环满足条件应做的事情n
练习案例:
小明受了风寒感冒了,医生说你把3种药坚持喝5天就可以痊愈了
代码:
def func08():
for day in range(1, 6):
print(f'今天是感冒的第{day}天')
for medicine in range(1, 4):
print(f'小明喝下了第{medicine}种药')
print('小明痊愈了,心里很感激医生')
注意点:
- 注意空格缩进
- for循环和while循环的嵌套使用
今日份学习笔记分享完毕~