当前位置:   article > 正文

Python for循环详解【附代码实例】_pythonfor

pythonfor
文章目录
    • 一、for循环
    • 二、for循环语法如下
    • 三、 for循环应用案例
      • 案例一:for循环实现方式
      • 案例二:遍历字典
      • 案例三:for循环嵌套
    • 四、总结for循环与while循环的异同
    • 五、for循环控制循环次数:range()
    • 六、for循环的跳出
      • 练习一:
      • 练习二:
    • 读者福利
    • 零基础Python学习资源介绍
      • 一、Python所有方向的学习路线
      • 二、Python学习软件
      • 三、Python入门学习视频
      • 四、Python练习题
      • 五、Python实战案例
      • 六、Python面试资料
      • 七、资料领取

一、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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表['lsj','a','b']中读出第一个值赋值给x(x=‘lsj’),然后执行循环体代码
# 步骤2:从列表
['lsj','a','b']

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

三、 for循环应用案例

案例一: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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
案例二:遍历字典
# 简单版: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循环确实可以遍历字典,后续将会迭代器部分详细介绍


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
案例三:for循环嵌套
#请用for循环嵌套的方式打印如下图形:
*****
*****
*****
for i in range(3):
    for j in range(5):
        print("*",end='')
    print()  # print()表示换行


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

四、总结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


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

六、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()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
练习二:
# 打印金字塔
# 分析
'''
#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()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的最近接单的截图

私单

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/436464
推荐阅读
相关标签