作者:韩信子@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相关文章推荐

ShowMeAI系列教程推荐

图解python | for循环的更多相关文章

  1. 图解python | 循环与控制

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  2. 图解python | 简介

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  3. 图解python | 安装与环境设置

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  4. 图解python | 基础数据类型

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  5. 图解python | 面向对象编程

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  6. Python的循环

    循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法:   ——for iter ...

  7. Cobra —— 可视化Python虚拟机 and 图解python

    http://blog.csdn.net/balabalamerobert http://blog.csdn.net/efeics/article/category/1486515  图解python ...

  8. python基础-循环

    循环 循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直 ...

  9. python的循环和选择

    一.python的选择结构: python的选择结构有两种选择结构一种是单选择(if...else)另一种则是多选择结构(if ...elif...elif) 下面用代码来实现: 1.if....el ...

随机推荐

  1. C# 10分钟完成百度翻译(机器翻译)——入门篇

    我们之前基于百度ai开发平台实现了人脸识别 [1].文字识别 [2].语音识别 [3] 与合成的入门和进阶,今天我们来实现百度翻译的实现. 随着"一带一路"政策的开展,各种项目迎接 ...

  2. JPA与hibernate-------JPA01

    ORM概述 ORM(Object-Relational Mapping) 表示对象关系映射.在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中.只要有一套程序能够做到建立对象与数据库 ...

  3. 【Java常用类】String

    文章目录 String String实例化的方式 方式一:通过字面量定义 方式二:new + 构造器的方式 String s = new String("abc")方式创建对象,在 ...

  4. 《剑指offer》面试题52. 两个链表的第一个公共节点

    问题描述 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], lis ...

  5. http 的get 与 post 的区别

    1.原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的 ...

  6. 在Excel VBA中写SQL,是一种什么体验

    每每提到Excel办公自动化,我们脑海里能想到的就是公式.数据透视表.宏.VBA,这也是我们大部分人数据分析的进阶之路.当我们对于常用VBA技巧已经相当熟练后,往往会有一种"我的VBA知识够 ...

  7. Android开发----Button组件的使用与练习

    Button 学习目标: 文字大小.颜色 自定义背景形状 自定义按压效果 点击事件 创建一个新的Activity以增加控件 1.文字大小.颜色 直接在xml文件中定义即可 <Button and ...

  8. python开发之函数

    转:https://www.tuicool.com/wx/vEVrqeR 06 python开发之函数 博客园精华区12-12 20:56 06 python开发之函数 目录 6.2 调用函数与函数返 ...

  9. ApacheCN Angular 译文集 20211114 更新

    Angular 专家级编程 零.前言 一.架构概述和在 Angular 中构建简单应用 二.将 AngularJS 应用迁移到 Angular 应用 三.使用 Angular CLI 生成具有最佳实践 ...

  10. 在Rainbond中实现数据库结构自动化升级

    Rainbond 这款产品一直致力于打通企业应用交付的全流程,这个流程中不可或缺的一环是企业应用的不断升级.迭代.Rainbond 特有的能力,是可以将囊括多个服务组件的企业应用系统进行打包,并执行一 ...