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的,这样才能终止循环
介绍完while的一般格式,怎么好意思不来点复杂的东西呢,与while配合使用的关键字 break、continue、pass、else
 
break
 #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
 #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
#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 循环的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  6. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  10. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

随机推荐

  1. java面向对象的三大特性——多态

    多态 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底 ...

  2. python_如何在一个for循环中迭代多个可迭代对象?

    案例: 某班学生期末考试成绩,语文.数学.英语分别存储在3个列表中,同时迭代三个列表.,计算每个学生的总分(并行) 某年级有4个班,某次英语成绩分别记录在4个列表中,依次迭代每个列表,统计全年级高于9 ...

  3. JQuery判断是否为空

    //有如下三种判断 var A=$("#**).val(); if(A==null||A!=undefined||A==""){ //处理 } //参考文章1说下面方法效 ...

  4. alibaba架包FastJson使用例子

    alibaba的架包FastJson可以对json字符串进行快捷的类型转换.下面是一些各种类型转换的使用例子. 一.下载FastJson的架包,并导入项目中,如下: Maven项目pom.xml配置如 ...

  5. convert图像格式批量转换

    问题:利用GMT绘制生成了eps格式的图像,为了将图像插入到word中,且保持较高的分辨率,利用convert进行图像格式转换,将eps转换成tiff格式. code:  $i ${name}.tif ...

  6. Matlab实用技巧

    1  Matlab Cell 编程模式 在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了.cell模式相当于将其中的代码拷贝到命令窗口中运行.两个% ...

  7. notepad++代码输出电话号

    在网上看到一个程序员找合租的消息,希望找一个程序员合租,所以电话号码以代码的形式输出,闲来没事打出来玩玩.首先新建一个test.java文件,并敲入下面代码: 1 public class test{ ...

  8. 换行符\n和回车符\r

    问题始于社区的一个帖子,楼主的问题如下: “在c语言中,对一个不知道大小的文件进行读操作,我用fread()将文件的内容先放到一个缓存区,然后将缓存区中的内容打印出来, 缓存区中的内容和文件中的内容不 ...

  9. Core Animation 文档翻译—附录C(KVC扩展)

    前言   关于CAAnimation和CALayer类,核心动画扩展了NSKeyValueCoding协议.这个扩展为一些keys添加了默认值,扩大了封装协议,添加了为CGpoint.CGRect.C ...

  10. xBIM 基本的模型操作

    目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...