Python学习之路——基础部分(while循环与for循环)——书接上回

for循环 

for循环与while循环的区别:

除了while循环语句外,Python同样提供了for循环语句。

两者能完成的功能基本差不多,但仍有一些区别:

  • while循环的循环条件是自定义的,自行控制循环条件
  • for循环是一种“轮询”机制,是对一批内容进行“逐个处理

for循环的语法 :

for 临时变量 in 被处理的数据集(序列)

        循环满足条件时执行的代码

来个实例:

定义字符串变量为sentence,内容为:i started missing you as soon as we said goodbye.(中文意思为:刚说了再见,就开始想念。可以拿去送给小姑娘哦~)

通过for循环,遍历此字符串,统计有多少个英文字母"i"

那么怎么做才可以得到想要的结果呢:

  1. 先定义出来变量用于存储短句
  2. 遍历短句
  3. 创建变量count用于存储符合条件的字母的数量
  4. 如果短句内有符合条件的字母,将count进行++
  5. 最后打印输出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循环遍历他,在遍历过程中,统计有多少偶数出现

分析:

  1. 先定义一个num,用于遍历
  2. 如何判断为偶数:一个数除以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循环的嵌套使用

今日份学习笔记分享完毕~

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值