3.2 while 循环
Python 编程中 while 语句用于循环执行程序,即在条件满足的情况下,循环执行某段代码。所以就需要在循环的代码块中设计一种使代码块循环执行一定次数后是while语句的条件不满足,从而中止while循环,否则就是死循环了(while语句中的代码块将循环无数次)。
#Python中的while的基本形式为:
while 判断条件:
需要循环的代码块
#这里的条件判断其实就是if语句后的真假值判断
#需要循环的代码块中一定要有代码使判断条件的真假值判断的结果为False。
#百闻不如一见,百说不如一练,下面来个简单的小例子演示一下while的用法。
a = 3
while a > 0:
print(a)
a -= 1
#代码执行结果
3
2
1
#看到了吧,a -= 1 这条语句就是设置使条件 a > 0 的判断结果为False的,这样才能终止循环
#break 是用于结束整个大循环,当代码处理到break处时,break后的语句将不再执行,整个循环就此结束
#由于break这么霸道,所以不可能直接放在while需要循环的代码块中,不然一遍也循环不了
#通常将break放在if的代码块中,即满足一定条件才会终止整个while循环
#来个例子吧
a = list(range(0,10))
#设定取到a中的7这个元素就终止整个while循环
while a: #为什么我直接放个列表在这里呢?因为非空的列表就是非空的对象,非空对象的真假值判断结果为True
b = a.pop()
print(b)
if b == 7:
break
print(b*100)
#代码执行结果:
9
900
8
800
7
#一目了然了吧,当b == 7的时候,程序执行到break这,就一下子结束了整个循环,所以if语句后的print(b*100)这条语句就执行不到了
#continue和break比起来,就温柔多了
#当程序执行到continue处,是结束本次循环,continue后的代码将不再执行,然后开始下次循环
a = list(range(0,5))
#设定取到a中的7这个元素就终止整个while循环
while a: #为什么我直接放个列表在这里呢?因为非空的列表就是非空的对象,非空对象的真假值判断结果为True
b = a.pop()
print(b)
if b == 3:
continue
print(b*100)
#代码执行结果
4
400
3 #看3后边没有300,说明continue后的代码不会被执行到
2 #看到有2输出,说明continue之后又开始了下一轮循环
200
1
100
0
0
pass
#pass怎么说呢,我其实是把它比喻成僵尸粉的,只起到占位的作用
#不但是while循环,凡事需要有代码体的数据类型都可以用pass替代代码题
#比如,我需要定义一个函数,函数名想好了,但函数的具体逻辑还没想好,这时就可以用pass先占据
#函数代码体的位置,以满足函数定义的语法要求
a = list(range(0,5))
while a:
b = a.pop()
print(b)
if b == 3:
pass
print(b*100)
#代码执行结果:
4
400
3
300
2
200
1
100
0
0
#else 呢 ,其实是和if语句后的else作用一样的
#具体呢,就是当while的条件不满足后会执行到的代码块
a = list(range(0,3))
while a:
b = a.pop()
print(b)
if b == 2:
pass
print(b*100)
else:
print('这个对象是空的,条件不满足')
#代码执行结果:
2
200
1
100
0
0
这个对象是空的,条件不满足
#可以这么理解吧,else中的代码块一定会执行到的
3.2 while 循环的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 【JS基础】循环
for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
- Linux进程管理及while循环
目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...
随机推荐
- C#动态设置匿名类型对象的属性
用C#写WPF程序, 实现功能的过程中碰到一个需求: 动态设置对象的属性,属性名称是未知的,在运行时才能确定. 本来这种需求可以用 Dictionary<string, object> 实 ...
- Django_xamdin安装与使用
有比Django更加强大的admin? xadmin? pip install xadmin 如何让xadmin生效? 新增两个注册app,xadmin,crispy_forms,通过run mana ...
- Log4j源码解析--核心类解析
原文出处:http://www.blogjava.net/DLevin/archive/2012/06/28/381667.html.感谢上善若水的无私分享. 在简单的介绍了Log4J各个模块类的作用 ...
- 流API--流的迭代
虽然流不是数据存储对象,但是仍然可以使用迭代器来遍历其元素,就如同使用迭代器遍历集合中的元素一样. 流API支持2类迭代器,一类是传统的Iterator,另一类是JDK8新增的Spliterator. ...
- alibaba架包FastJson使用例子
alibaba的架包FastJson可以对json字符串进行快捷的类型转换.下面是一些各种类型转换的使用例子. 一.下载FastJson的架包,并导入项目中,如下: Maven项目pom.xml配置如 ...
- android 中string.xml中的%1$s
idView.setText(getString(R.string.estate_id, mCollectParamObj.getPlotNo())); estate_id:小区号%1$s %d ...
- 豹哥嵌入式讲堂:ARM知识概要杂辑(1)- 内核架构编年史
众所周知,ARM公司是一家微处理器行业的知名企业,ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家.这些厂家基本涵盖了全球领先的知名半导体企业.软件和OEM厂商:T ...
- sed,n,N,d,D,p,P,h,H,g,G,x,解析
原文地址 这篇文章主要是我参考命令的,直接复制粘贴,有问题请拍砖 A. sed执行模板=sed '模式{命令1;命令2}' 即逐行读入模式空间,执行命令,最后输出打印出来 B. p打印当前模式空间所有 ...
- Sql Server的艺术(四) SQL多表查询
表的基本连接 SQL的一个重要特性就是能通过JOIN关键词,从多个交叉表中查询.分析数据. 连接表的目的 在关系数据库中,数据表设计的一个重要原则就是要避免冗余性. 减少了冗余信息,节省了数据库存储空 ...
- PHP支付第3方接口使用方法。
去年写过一遍博客文章. 网站申请不到支付宝接口.微信接口,免接口收款实现方式. 网络在发展,支付宝也好,微信也好,技术在进步,这种方式已经不能使用了,明显的一个问题是,支付宝的刷新工具,会定时退出,必 ...