图解python | for循环

作者:韩信子@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)

流程图:

代码实例(代码可以在在线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站查看【双语字幕】版本
资料与代码下载
本教程系列的代码可以在ShowMeAI对应的github中下载,可本地python环境运行,可以访问google的宝宝也可以直接借助google colab一键运行与交互操作学习哦!
本教程系列涉及的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 | for循环的更多相关文章
- 图解python | 循环与控制
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- 图解python | 简介
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- 图解python | 安装与环境设置
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- 图解python | 基础数据类型
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- 图解python | 面向对象编程
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- Python的循环
循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法: ——for iter ...
- Cobra —— 可视化Python虚拟机 and 图解python
http://blog.csdn.net/balabalamerobert http://blog.csdn.net/efeics/article/category/1486515 图解python ...
- python基础-循环
循环 循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直 ...
- python的循环和选择
一.python的选择结构: python的选择结构有两种选择结构一种是单选择(if...else)另一种则是多选择结构(if ...elif...elif) 下面用代码来实现: 1.if....el ...
随机推荐
- 刨根问底: Kafka 到底会不会丢数据?
大家好,我是 华仔, 又跟大家见面了. 上一篇作为专题系列的第二篇,从演进的角度带你深度剖析了关于 Kafka 请求处理全流程以及超高并发的网络架构设计的实现细节,今天开启第三篇,我们来聊聊 Kafk ...
- day23 结构体
(1).若有说明和定义: typedef int *integer: integer p,*q: 则下列叙述正确的是[C] (A).q是基类型位int的指针变量 (B).p是int型变量 (C).p是 ...
- 【刷题-LeetCode】228. Summary Ranges
Summary Ranges Given a sorted integer array without duplicates, return the summary of its ranges. Ex ...
- 【刷题-PAT】A1135 Is It A Red-Black Tree (30 分)
1135 Is It A Red-Black Tree (30 分) There is a kind of balanced binary search tree named red-black tr ...
- 利用SelectPdf插件将网页生成PDF
简介 适用于.NET Framework和.NET Core的HTML至PDF转换器 SelectPdf提供的在线html到pdf转换器使用.NET的Select.Pdf库中的html到pdf转换器. ...
- Go 变量及基本数据类型3
#### Go 变量及基本数据类型(三)今天学习一下剩下的两个基本数据类型(布尔类型,字符串类型)以及基本数据类型的相互转换##### 布尔类型布尔类型也称为bool 类型, bool 类型只允许取值 ...
- java抽象类概述特点
1 package face_09; 2 /* 3 * 抽象类: 4 * 抽象:笼统,模糊,看不懂!不具体. 5 * 6 * *特点: 7 * 1,方法只有声明没有实现时,该方法就是抽象方法,需要被a ...
- String类-intern方法
1 package cn.itcast.p1.string.demo; 2 3 class StringObjectDemo { 4 public static void main(String[] ...
- 什么是iptables?
目录 一:iptables 1.iptables简介 2.什么是防火墙? 3.防火墙种类 二:iptables基本介绍 1.解析内容 三:iptables流程(讲解) 1.流入本机 2.解析(流入本机 ...
- file类和fileinfo类的简单对比
File类:提供用于操作文件的静态方法. FileInfo类:提供操作文件的属性和实例方法. Directory类:提供用于操作目录的静态方法. DirectoryInfo类:提供用于操作目录的实例方 ...