Python的for循环
一、for循环
for循环:循环就是重复做某件事,for循环是python提供第二种循环机制(第一种是while循环),理论上for循环能做的事情,while循环都可以做。
目的:之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁。
(文末送读者福利)
二、for循环语法如下
for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,其实也可以是tuple(),set()
代码一
代码二
# # for循环
# # 列表取值
# l = ['lsj','a','b']
# for x in l:
# print(x)
lsj
a
b ...
# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表['lsj','a','b']中读出第一个值赋值给x(x=‘lsj’),然后执行循环体代码
# 步骤2:从列表
['lsj','a','b']
三、 for循环应用案例
案例一:
# 简单版:for循环的实现方式
# l = ['lsj', 'b', 'c'] # 定义一个列表
# for x in l:
# print(x)
# lsj
# b
# c
# 复杂版:while循环的实现方式
l = ["lsj","b","c"]
i = 0
while i < 3:
print(l[i])
i += 1
# lsj
# b
# c
# 使用循环取出0-5的值
# 简单版:for循环的实现方式一、
# for count in range(6): # range(6)会产生从0-5这6个数
# print(count)
# 复杂版:while循环的实现方式
# count = 0
# while count < 6:
# print(count)
# count += 1
案例二:遍历字典
# 简单版:for循环的实现方式
dic = {'name':'lsj','age':18,'gender':'male'}
for k in dic: # for 循环默认取的是字典的key赋值给变量名k
print(k,dic[k])
# name lsj
# age 18
# gender male
# 复杂版:while循环确实可以遍历字典,后续将会迭代器部分详细介绍
案例三:for循环嵌套
#请用for循环嵌套的方式打印如下图形:
*****
*****
*****
for i in range(3):
for j in range(5):
print("*",end='')
print() # print()表示换行
四、总结for循环与while循环的异同
(1)相同之处:都是循环,for循环可以干的事,while循环也可以干
(2)不同之处:
while循环称之为‘’条件循环‘’,循环次数取决于条件何时变为假
for循环称之为"取值循环",循环次数取决in后包含的值的个数
五、for循环控制循环次数:range()
in后直接放一个数据类型来控制循环次数有局限性:
当循环次数过多时,数据类型包含值的格式需要伴随着增加
range功能介绍
range(10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 从0开始有头无尾
range(1,10,1) # 1 2 3 4 5 6 7 8 9 设定开始,结束,步长
range(1,10,2) # 1 3 5 7 9
range()的补充:python2与python3的不同之处。
在python2中对range(10)的处理:一个篮子里面装有10个鸡蛋,空间较大。
在python3中对range(10)的优化:一只可以下10个鸡蛋的母鸡,空间较小。
for搭配range,可以按照索引取值,(比较麻烦所以不推荐)
l = ['lsj', 'a', 'c'] # len(l)
for i in range(len(l)):
print(i, l[i])
for x in l:
print(x)
PEP8规范写法
for i in range(5):
if i == 4:continue # PEP8规范不建议这样写
print(i)
for i in range(5):
if i == 4:
continue # PEP8规范这样写
print(i)
六、for循环的跳出
for+break: 同while循环一样,只要运行到break就会立刻中止本层循环
for+else:同while循环一样,只要运行到break就立即终止本次循环
总结:for+break,for+continue,for+else的用法与while相同
练习一:
# 打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
练习二:
# 打印金字塔
# 分析
'''
#max_level=5
* # current_level=1,空格数=4,*号数=1
*** # current_level=2,空格数=3,*号数=3
***** # current_level=3,空格数=2,*号数=5
******* # current_level=4,空格数=1,*号数=7
********* # current_level=5,空格数=0,*号数=9
# 数学表达式
空格数=max_level-current_level
*号数=2*current_level-1
'''
# 实现:
max_level=5
for current_level in range(1,max_level+1):
for i in range(max_level-current_level):
print(' ',end='') #在一行中连续打印多个空格
for j in range(2*current_level-1):
print('*',end='') #在一行中连续打印多个空格
print()
读者福利:知道你对Python感兴趣,便准备了这套python学习资料,
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等教程。带你从零基础系统性的学好Python!
零基础Python学习资源介绍
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
资料领取
这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料【有什么需要协作的还可以随时联系我】朋友圈也会不定时的更新最前言python知识。
好文推荐
了解python的前景: https://blog.csdn.net/weixin_49892805/article/details/127196159
了解python的副业: https://blog.csdn.net/weixin_49892805/article/details/127214402