今天来说一下循环,循环可以完成很多自动化的功能。在Python中,循环分为for循环和while循环还有循环嵌套。

一、for循环

for循环用于遍历任何序列,这个序列包括列表list或者字符串。

for  变量  in 列表或者字符串:

        语句1

        语句2

        ......

#实例:

for i in ['zhangsan','lisi','wangwu',666,123]:

print(i)

>>> zhangsan

lisi

wangwu

666

123

# 解析:首先定义列表 ['zhangsan','lisi','wangwu',666,123],然后依次取列表中的值对变量 i 进行赋值。赋值完成后,执行print(i)语句,输出获得到的值。

二、while循环

while循环就是对条件语句进行判断,如果条件满足,则继续循环。如果条件不满足,循环中断。

while 条件判断表达式:

        语句1

        语句2

        ......

#实例(我们依次输出数字0-10):

i=0

while i<=10:

print(i)

i=i+1

#解析:首先定义变量i,并赋值1。创建while循环语句,条件判断表达式为 i<=10,当 i<=10 为True时,则执行print(i),同时给变量 i+1。知道 i=11时,条件判断表示式的执行结果为False,此时,循环结束。

三、break、continue和pass语句的用法

1、break语句

在循环语句当中,如果执行break语句,则跳出且终止循环。比如,让程序找出数字0-100中的66,如果找到后,则跳出循环,并且终止循环。

#目标:找出0-100中的66

#那我们用哪个循环语句比较合适呢?当然是for循环了。

for i in range(0,101):

if i==66:

print('我找到了66')

break

else:

print('正在找...{0}'.format(i))

#在这里,我们学习两个新的知识点

# 1、range()函数,它代表的是创建一个整数列表,在for循环中,经常用              到!range(x,y) x代表的是起始数字,y代表的是结束数字,y是不包                含在内的,所以在程序中,我的表达式为range(0,101)。

# 2、format是格式化语句,也就是替换的意思。在字符串中定义{x},x是0起            步的,对应的format(x的值)。

# 3、这两个语句我会在后面仔细的讲解的。

# 解析:首先我们定义变量 i ,然后把range(0,101)的数字依次的赋值给变   量 i,接着用判断语句识别变量 i 是否等于66。如果等于66,则输出 print('我找到了66'),并且跳出中断循环。

2、continue语句

在循环语句中,执行continue语句,直接跳出此次循环,进行下一个循环。

# 查找字符串hello中的字母P

for i in 'Python':

if i=='h':

continue

print('正在查找{0}'.format(i))

>>> 正在查找P

正在查找y

正在查找t

正在查找o

正在查找n

#解析:程序正常运行的顺序是依次把Python字符串中的字母赋值给变量 i,然后执行 if 判断语句,接着执行 print 语句。但是当 if 语句为True 时,执行continue语句,此时,continue语句直接跳到循环的尾部,执行下一次的循环了,没有经过print语句。

3、pass语句

简而言之就是占位语句,执行后没有任何的操作,仅仅是一个占位的。

i=0

if i<=3:

pass

i=i+1

>>>(什么都没有)

四、嵌套循环

在实际的应用中,经常要使用嵌套循环,所谓的嵌套循环指的就是两个或者两个以上的循环语句,放在一起来执行复杂的任务。

for  变量1  in  list1:

        for  变量2  in  list2:

                语句1

                语句2

                ......

#实例:

for i in range(1,10):

for j in range(i,10):

print('{0}*{1}={2}'.format(i,j,i*j),end=' ')

print(' ')

>>>

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27

4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36

5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

6*6=36 6*7=42 6*8=48 6*9=54

7*7=49 7*8=56 7*9=63

8*8=64 8*9=72

9*9=81

# 这里有个新的知识点,print('输出的内容',end=' '),print原本是一个函数,我们平常使用的只是输出的功能,还有一些默认的参数(具体函数会讲到)。print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)。print的end参数默认值是个换行符,这就是为什么我们每次打印输出的时候,都会自动换行,这里我们把 '\n' 换行符改成了 ' ' 空的字符串,这样就不会自动换行了,每次循环完后,在print(' '),使它恢复默认。

关注公众号,了解更多!

转载于:https://www.cnblogs.com/pyshadow/p/10399040.html

零基础入门Python3-循环详解相关推荐

  1. 零基础入门Python3-set集合详解

    零基础入门Python3-set集合   一.set集合 1.创建set集合 set(list or str or tuple) # 实例1,传入tuple a=set((1,2,3,4,5,6)) ...

  2. HTLM 零基础入门教程(详解)

    文章目录 前言 文档的后缀名 HTML 标签 一.htlm概念 二.htlm特点 主要有以下三点: 三.常用标签及其属性 1-文本修饰 2-段落 3-标题 4-序列 5-图片 6-音频文件 7-视频文 ...

  3. 子网掩码必须是相邻的是什么意思_零基础IP子网划分详解

    零基础IP子网划分详解 2016.8.22修正,感谢道友刘先生的提醒 在学习IP子网划分前,首先的明白以下几个基础概念: 1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制 ...

  4. U-Boot 之一 零基础编译 U-Boot 过程详解、Image 镜像介绍及使用说明、DTB 文件使用说明

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,在之前的博文 Linux 之八 完整嵌入式 Linux 环境.(交叉)编译工具链.CPU 体系架构.嵌入式系统构建工具 中详细介绍了嵌 ...

  5. U-Boot 之一 零基础编译 U-Boot 过程详解 及 编译后的使用说明

      在之前的博文 Linux 之八 完整嵌入式 Linux 环境介绍及搭建过程详解 中我们说了要一步步搭建整个嵌入式 Linux 运行环境,今天就开始编译 U-Boot.我所使用的硬件平台及整个要搭建 ...

  6. 零基础学习PHP编程——详解Apache、PHP和Mysql之间的关系

    详解Apache.PHP和Mysql之间的关系 注意: 本文主要写给基础薄弱的同学, 如有不当之处,还请指正. 访问源站 原创不易,转载请注明 欢迎交流: 640765823  学习方法 弄清楚Apa ...

  7. vb net excel 剪贴板 粘贴_Excel零基础教程选项卡功能详解

    Excel功能区详解 你了解[开始]选项卡吗? Excel的[开始]选项卡 应该是我们使用最多的选项卡了 开始中包含了粘贴板.格式刷. 填充桶.条件格式.序列等等实用功能 今天我们就从开始选项卡开始 ...

  8. android基础入门控件详解(3)

    以下所有控件都只显示本控件代码,运行效果图会在原基础上添加. 一.TextView(文本框): TextView用来向用户显示文本,这是最基本的视图. <TextViewandroid:id=& ...

  9. 【架构师】零基础到精通——网关详解

    博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生. 作者简介:一名退役Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言:哈喽 ...

最新文章

  1. AngularJs $resource 高大上的数据交互
  2. Linux 普通进程 后台进程 守护进程(转)
  3. android cpp做成so库,Android增量更新(二)—制作合成文件so库
  4. Java之枚举----小试牛刀练习
  5. TCPview 介绍
  6. 用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int...
  7. rpm方式安装MySQL5.1.73
  8. ORACLE PL/SQL编程之八: 把触发器说透
  9. windows如何使用ssh登录ubuntu
  10. 大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计
  11. 企业实战_15_MySql主从复制到MyCat总结
  12. elasticsearch docker无法挂载_ElasticSearch数据备份与恢复
  13. RGB转换cv::Mat
  14. 今天,一起吐槽容器镜像中那些让人一言难尽的事情
  15. 联想外接键盘fn热键取消
  16. R语言作图入门——软件安装,数据导入
  17. 虚拟化的软件有哪些?区别是什么?
  18. 为羊哥点赞,利用云服务器搭建私人云笔记
  19. 离散数学学习笔记——集合的符号表示
  20. 三星6818LED驱动的编写

热门文章

  1. 控制器(下) -运维笔记
  2. JAVA读取、写入Excel表格(含03版)
  3. 一个很好用的JavaScript的文件上传插件plupload
  4. A*寻路算法的探寻与改良(一)
  5. 深度优先搜索(DFS)递归形式改为非递归形式
  6. Visual Studio 2012 Ultimate旗舰版序列号
  7. Oracle 与 MySQL 的区别
  8. C#关键字operator
  9. php开源Plogger用法
  10. Ruby 获取 HTTP 回应的编码和内容