Pyhton基础学习系列6——for循环的理解使用

前言

for循环是每一个学习编程的人必须理解且掌握运用的知识,只要掌握了for循环的用法,就能解决很多问题,在我学习for循环的时间里我也有了一定的理解,以下就做一个我对于for循环的介绍及其用法。


提示:以下是本篇文章正文内容,下面案例可供参考(作者小白一个,希望有终一日可以成为大佬,本篇用于记录学习旅程~欢迎各位道友指教与交流~。)

一、for循环是什么?

for循环就相当于一个可以用来解决我们需要重复操作的工具,每当我们需要重复的去执行一些计算机的相关操作时就可以用它来减轻我们的负担从而提升效率。当我们遇到需要重复计算或者获取数据等重复操作时就可以用for循环来解决问题,

二、for循环的用法和说明

1.for的基本语法说明

代码如下(示例):

"""
语法:
for 变量名 in 容器:
    循环体

说明:
a. for、in           -       关键字固定写法
b. 变量名             -       可以是已经定义过的变量的变量名,也可以是没有定义过的变量的变量名
c. 容器              -        容器型数据类型的数据,常见的容器型数据类型:字符串、列表、字典、元组、集合、迭代器、生成器、range等
d. :                 -       固定写法
e. 循环体            -        结构上,和for保持一个缩进的一条或者多条语句,至少一条
                             逻辑上,需要重复执行代码
"""

2.执行过程的原理

给一个变量然后这个变量会去容器里面顺着一个一个取值,每取到一个数据就会执行一次循环体,直到容器中所有的数据都被取完才停止循环。(for循环的循环次数=容器里的数据数量)

代码如下(示例):

# x去一个一个的取字符串'无聊的马脑阔'里面的值然后输出
for x in '无聊的马脑阔':
    print(x)
# 运行结果如下:
# 无
# 聊
# 的
# 马
# 脑
# 阔

如果这时我们要去计算1~100之间累加的总和就要让容器里面的数据有100个然后定义一个变量sum1=0,循环体里面写sum1 += x,然后输出sum1就可以了。但是我们不可能自己手写100个数据在里面所以这时我们就需要用到range函数。

3.range函数

  • 总结一下就是创建一个等差数列

  • 注意:如果想输出具体数值比如 [0, 1, 2, 3, 4]这样,必须得用list把range函数括起来。

  • 1)range(end) - 创建一个起始值为0,终值为end的等差数列,差是1。

  • A = list(range(10))  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
  • 2)range(start,end) - 创建起始值为start,终值为(end-1)的等差数列,差是1。

    A = range(1, 9)   # [1, 2, 3, 4, 5, 6, 7, 8]
    
  • 3)range(start,end,step) - 创建一个起始值为start,终值为(end-1)的等差数列,差是step,step不能为0。(注意:当没有start值时默认从0开始)

    print(list(range(2, 9, 2)))  # [2, 4, 6, 8]
    print(list(range(9, -1, -3)))  # [9, 6, 3, 0]
    

4.for循环和range函数组合使用

  • 现在我们知道了range函数就可以结合for循环来解决100以内整数和的问题了
  • 代码如下(示例):
sum1 = 0
for i in range(101):
    sum1 += i
print(sum1)
# 结果5050
# range(101)是创建一个0到100差为1的等差数列,创建出来就是一个拥有100个数据的列表。
# sum+=i  ->  sum=sum+i
  • 通过range函数然后再加上if判断语句我们就可以解决很多问题,输入一个年份判断是不是闰年,判断学生成绩是否及格等等。

5.for循环字典容器和for循环的嵌套

*这个是我想做这个笔记的最大原因,之前因为没记牢字典的for循环遍历一直会想不起来for循环字典容器输出的是什么。再做excel表的数据获取时。遍历字典数据时一直不是很懂其中逻辑。借这个机会加深印象防止忘记,顺便再复习一下for循环的知识和底层执行逻辑。我先创建一个字典里面有4个键,每个键对应不同键值然后遍历,输出的是键。

dict1 = {'姓名':'马脑阔','性别':'男','爱好':'打球','年龄':22}
for i in dict1:
    print(i)
# 姓名
# 性别
# 爱好
# 年龄

其中字典的遍历在excel文件的读取中有一个很实用的操作就是提取多条数据数值进行计算,就比如我提取了4条数据,计算一下平均年龄,我先创建一个空列表和一个空字典,然后用字典去装提取的数据,然后再添加到列表当中遍历计算。

  • 代码如下(示例):
# 假设我现在有4条数据要计算平均年龄
dict1 = [{'姓名':'马脑阔1','性别':'男','爱好':'打球','年龄':22},
         {'姓名':'马脑阔2','性别':'男','爱好':'打球','年龄':18},
         {'姓名':'马脑阔3','性别':'男','爱好':'打球','年龄':24},
         {'姓名':'马脑阔4','性别':'男','爱好':'打球','年龄':20}]
# 首先定义两个变量一个用来累加年龄,一个用来累加总共的人数
sum1 = 0
count = 0
# 用for循环去进行遍历列表dict1,它会先获取列表里面的每一个字典的数据
for i in dict1:
    print(i)
# 然后用字典的索引去获取年龄的数据赋值给value变量
    value = i['年龄']
    print(value)
# 每循环一次它就累加一次,就可以计算总共计算了几个人的年龄
    count += 1
    print(count)
# 计算平均年龄,第一次循坏获取到第一个人的年龄,第二次循环获取第一个人和第二个人加起来的年龄
    sum1 += value
print(sum1/count)  
# 输出结果
# {'姓名': '马脑阔1', '性别': '男', '爱好': '打球', '年龄': 22}
# 22
# 1
# {'姓名': '马脑阔2', '性别': '男', '爱好': '打球', '年龄': 18}
# 18
# 2
# {'姓名': '马脑阔3', '性别': '男', '爱好': '打球', '年龄': 24}
# 24
# 3
# {'姓名': '马脑阔4', '性别': '男', '爱好': '打球', '年龄': 20}
# 20
# 4
# 21.0  (这里就是最后算出来的平均年龄)

最后再说一下for循环里面嵌套一个for循环的输出结果,如果有两个for循环嵌套,第一次循环会先执行最外面的for循环,执行一次,然后再执行里面的for循环,执行完容器里数据的数量才会再去执行最外层的第二次for循环,这个明白了以后在之后的学习中才能更好的运用for循环。

  • 代码如下(示例):
dict2 = ['高一','高二','高三']
dict1 = [{'姓名':'马脑阔1','性别':'男','班级':'高三','年龄':19},
         {'姓名':'马脑阔2','性别':'男','班级':'高二','年龄':17},
         {'姓名':'马脑阔3','性别':'男','班级':'高二','年龄':16},
         {'姓名':'马脑阔5','性别':'男','班级':'高一','年龄':16},
         {'姓名':'马脑阔6','性别':'男','班级':'高一','年龄':16}]
# 假设现在要求根据班级属性求出每个年级的平均年龄
# 依次拿到每个班级,并且计算班级的平均年龄
for index in range(len(dict2)):
    dep = dict2[index]
    # 计算班级的平均年龄
    total = count = 0
    for x in dict1:
        if x['班级'] == dep:
            total += x['年龄']
            count += 1
    avg = total/count
    print(avg)
# 运行结果
# 16.0
# 16.5
# 19.0

# 我举个简单的例子
for i in range(3):
    print(i)
    for x in range(4):
        print(x)
# 第一次循环输出结果是0 0 1 2 3
# 第二次循环输出结果是1 0 1 2 3
# 第三次循环输出结果是2 0 1 2 3
# 简单说最外层的for循环就是指出for x in range(4):这个循环执行几次
# 根据上面这个例子就是说当最外层的for循环开始执行第一次时,最里层的for循环要执行四次才会跳出循环,
# 依次类推,每次最外层的for循环想执行下一次循环时都得等最里面的for循环执行完才会开始下一次。

总结

以上就是今天要讲的内容,本文仅仅简单介绍我自己对于for循环的理解和使用,还有range函数的简单创建和使用,然后用for循环去处理一些字典数据的操作,要理解for循环嵌套其中的逻辑,其中要多多复习列表和字典的基本操作,多练题配合for循环才可以解决更难的一些问题。如有其他道友看到觉得还有补充或者意见欢迎讨论,共同学习,共同进步,感谢您的观看!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值