乐趣区

关于python:图解python-for循环

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


1.Python-for 循环语句

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

语法:

for 循环的语法格局如下:

for iterating_var in sequence:
   statements(s)

流程图:

代码实例(代码能够在在线 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 站查看【双语字幕】版本

https://www.bilibili.com/vide…

材料与代码下载

本教程系列的代码能够在 ShowMeAI 对应的 github 中下载,可本地 python 环境运行,能迷信上网的宝宝也能够间接借助 google colab 一键运行与交互操作学习哦!

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

  • Python 速查表

拓展参考资料

  • Python 教程—Python3 文档
  • Python 教程 - 廖雪峰的官方网站

ShowMeAI 相干文章举荐

  • python 介绍
  • python 装置与环境配置
  • python 根底语法
  • python 根底数据类型
  • python 运算符
  • python 条件管制与 if 语句
  • python 循环语句
  • python while 循环
  • python for 循环
  • python break 语句
  • python continue 语句
  • python pass 语句
  • python 字符串及操作
  • python 列表
  • python 元组
  • python 字典
  • python 汇合
  • python 函数
  • python 迭代器与生成器
  • python 数据结构
  • python 模块
  • python 文件读写
  • python 文件与目录操作
  • python 谬误与异样解决
  • python 面向对象编程
  • python 命名空间与作用域
  • python 工夫和日期

ShowMeAI 系列教程举荐

  • 图解 Python 编程:从入门到精通系列教程
  • 图解数据分析:从入门到精通系列教程
  • 图解 AI 数学根底:从入门到精通系列教程
  • 图解大数据技术:从入门到精通系列教程

退出移动版