图解python | for循环

简介: 在 python中,for 循环常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

ShowMeAI研究中心

作者:韩信子@ShowMeAI
教程地址http://www.showmeai.tech/tutorials/56
本文地址http://www.showmeai.tech/article-detail/72
声明:版权所有,转载请联系平台与作者并注明出处


1.Python-for循环语句

Python中有很多序列形态的数据结构(如列表或字符串等),可以使用for循环进行遍历。

语法:

for循环的语法格式如下:

for iterating_var in sequence:
   statements(s)

for循环语句的基本形式

流程图:

for循环语句的执行流程

代码实例(代码可以在在线python3环境中运行)

for letter in 'ShowMeAI':     # 第一个实例
   print("当前字母: %s" % letter)
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例
   print('当前水果: %s'% fruit)
 
print("完成!")

以上代码输出结果:

当前字母: S
当前字母: h
当前字母: o
当前字母: w
当前字母: M
当前字母: e
当前字母: A
当前字母: I
当前水果: banana
当前水果: apple
当前水果: mango
完成!

2.通过序列索引迭代

另外一种执行循环的遍历方式是通过索引,如下实例(代码可以在在线python3环境中运行):

fruits = ['香蕉', '苹果',  '葡萄']
for index in range(len(fruits)):
   print('当前水果 : %s' % fruits[index])
 
print("完成!")

以上代码输出结果:

当前水果 : 香蕉
当前水果 : 苹果
当前水果 : 葡萄
完成!

以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

3.循环使用else语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(20,30):  # 迭代 10 到 20 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         j=num/i          # 计算第二个因子
         print ('%d 等于 %d * %d' % (num,i,j))
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print ('%d 是一个质数' % num)

以上代码输出结果:

20 等于 2 * 10
21 等于 3 * 7
22 等于 2 * 11
23 是一个质数
24 等于 2 * 12
25 等于 5 * 5
26 等于 2 * 13
27 等于 3 * 9
28 等于 2 * 14
29 是一个质数

4.经典案例-for循环绘图

我们来使用学习到的for循环,绘制不同的图案,帮助大家进一步熟悉for循环用法

(1)空心等边三角形

代码可以在 在线python3环境中运行。
rows = int(input('输入列数: '))

print("打印空心等边三角形,这里去掉if-else条件判断就是实心的")
for i in range(0, rows + 1):#变量i控制行数
    for j in range(0, rows - i):#(1,rows-i)
        print(" ", end='')
        j += 1
    for k in range(0, 2 * i - 1):#(1,2*i)
        if k == 0 or k == 2 * i - 2 or i == rows:
            if i == rows:
                if k % 2 == 0:#因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格
                    print("*", end='')
                else:
                    print(" ", end='')#注意这里的", end='' ",一定不能省略,可以起到不换行的作用
            else:
               print("*", end='')
        else:
            print(" ", end='')
        k += 1
    print("\n")
    i += 1

(2)菱形

代码可以在 在线python3环境中运行。
rows = int(input('输入列数: '))

print("打印空心等菱形,这里去掉if-else条件判断就是实心的")

rows = int(input('输入列数: '))

for i in range(rows):#变量i控制行数
    for j in range(rows - i):#(1,rows-i)
        print(" ", end='')
        j += 1
    for k in range(2 * i - 1):#(1,2*i)
        if k == 0 or k == 2 * i - 2:
            print("*", end='')
        else:
            print(" ", end='')
        k += 1
    print("\n")
    i += 1
    #菱形的下半部分
for i in range(rows):
    for j in range(i):#(1,rows-i)
        print(" ", end='')
        j += 1
    for k in range(2 * (rows - i) - 1):#(1,2*i)
        if k == 0 or k == 2 * (rows - i) - 2:
            print("*", end='')
        else:
            print(" ", end='')
        k += 1
    print("\n")
    i += 1

5.视频教程

也可以点击 这里 到B站查看有【中英字幕】的版本

[video(video-EXOGSLdB-1645637314015)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=505628451&page=13)(image-https://img-blog.csdnimg.cn/img_convert/d9381700107186d465be44377b1e7de2.png)(title-【双语字幕+资料下载】Python 3全系列基础教程,全程代码演示&讲解!10小时视频42节,保证你能掌握Python!快来一起跟着视频敲代码~<快速入门系列>)]


资料与代码下载

本教程系列的代码可以在ShowMeAI对应的github中下载,可本地python环境运行。能访问Google的宝宝也可以直接借助google colab一键运行与交互操作学习哦!

本教程系列涉及的Python速查表可以在以下地址下载获取:

拓展参考资料

ShowMeAI相关文章推荐

ShowMeAI系列教程推荐

showmeai

目录
相关文章
|
3月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
52 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
3月前
|
Python
揭秘Python编程核心:一篇文章带你深入掌握for循环与while循环的奥秘!
【8月更文挑战第21天】Python中的循环结构——for循环与while循环,是编程的基础。for循环擅长遍历序列或集合中的元素,如列表或字符串;而while循环则在未知循环次数时特别有用,基于某个条件持续执行。本文通过实例展示两种循环的应用场景,比如用for循环计算数字平方和用while循环计算阶乘。此外,还通过案例分析比较了两者在处理用户输入任务时的不同优势,强调了根据实际需求选择合适循环的重要性。
51 0
|
19天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
29 4
|
25天前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
60 5
|
1月前
|
Python
Python 循环语句的高级应用与深度探索
本文深入探讨了Python中循环语句的高级应用,包括`for`循环遍历字典获取键值、同步遍历多个序列,以及`while`循环结合条件判断和异常处理。通过嵌套循环实现了矩阵乘法,并介绍了如何优化循环以提升程序性能。示例代码展示了这些技术的实际应用。
47 15
|
1月前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
2月前
|
Python
Python 中如何循环某一特定列的所有行数据
Python 中如何循环某一特定列的所有行数据
|
1月前
|
Java C++ Python
【Python】循环语句(while、for)、continue、break
【Python】循环语句(while、for)、continue、break
36 0
|
2月前
|
存储 前端开发 索引
11个Python循环技巧
本文介绍了在Python中使用循环创建多个列表的方法,并提供了丰富的代码示例。内容涵盖根据固定数量、条件、数据类型、属性、索引范围、哈希值等不同条件创建列表的技巧,展示了如何灵活运用循环和列表推导式,提高代码的灵活性与可维护性,加速开发流程并提升程序性能。
|
3月前
|
搜索推荐 Python
Python基础编程:冒泡排序和选择排序的另一种while循环实现
这篇文章介绍了Python中冒泡排序和选择排序的实现,提供了使用while循环的替代方法,并展示了排序算法的运行结果。
28 2
Python基础编程:冒泡排序和选择排序的另一种while循环实现