Python While循环语句实例演示及原理解析


Posted in Python onJanuary 03, 2020

这篇文章主要介绍了Python While循环语句实例演示及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:
执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:

Python While循环语句实例演示及原理解析

Python while 语句执行过程

Python While循环语句实例演示及原理解析

实例:

#!/usr/bin/python
 count = 0
 while (count < 9):  print 'The count is:', count  count = count + 1 print "Good bye!"

以上代码执行输出结果:

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

# continue 和 break 用法
i = 1
while i < 10:    i += 1   if i%2 > 0:   # 非双数时跳过输出
    continue
  print i     # 输出双数2、4、6、8、10

i = 1
while 1:      # 循环条件为1必定成立
  print i     # 输出1~10
  i += 1
  if i > 10:   # 当i大于10时跳出循环
    break

无限循环

如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:

#coding=utf-8
#!/usr/bin/python

var = 1
while var == 1 : # 该条件永远为true,循环将无限执行下去
  num = raw_input("Enter a number :")
  print "You entered: ", num

print "Good bye!"

以上实例输出结果:

Enter a number :20
You entered: 20
Enter a number :29
You entered: 29
Enter a number :3
You entered: 3
Enter a number between :Traceback (most recent call last):
 File "test.py", line 5, in <module>
  num = raw_input("Enter a number :")
KeyboardInterrupt

注意:以上的无限循环你可以使用 CTRL+C 来中断循环。

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

#!/usr/bin/python

count = 0
while count < 5:
  print count, " is less than 5"
  count = count + 1
else:
  print count, " is not less than 5"

以上实例输出结果为:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

简单语句组

类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:

#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"

注意:以上的无限循环你可以使用 CTRL+C 来中断循环。

While循环语句实例

猜拳小游戏

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import random
while 1:
  s = int(random.randint(1, 3))
  if s == 1:
    ind = "石头"
  elif s == 2:
    ind = "剪子"
  elif s == 3:
    ind = "布"
  m = raw_input('输入 石头、剪子、布,输入"end"结束游戏:')
  blist = ['石头', "剪子", "布"]
  if (m not in blist) and (m != 'end'):
    print "输入错误,请重新输入!"
  elif (m not in blist) and (m == 'end'):
    print "\n游戏退出中..."
    break
  elif m == ind :
    print "电脑出了: " + ind + ",平局!"
  elif (m == '石头' and ind =='剪子') or (m == '剪子' and ind =='布') or (m == '布' and ind =='石头'):
    print "电脑出了: " + ind +",你赢了!"
  elif (m == '石头' and ind =='布') or (m == '剪子' and ind =='石头') or (m == '布' and ind =='剪子'):
    print "电脑出了: " + ind +",你输了!"

以上实例输出结果为:

输入 石头、剪子、布,输入"end"结束游戏:石头
 电脑出了: 石头,平局!
 输入 石头、剪子、布,输入"end"结束游戏:石头  
 电脑出了: 剪子,你赢了!
 输入 石头、剪子、布,输入"end"结束游戏:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
布同自制Python函数帮助查询小工具
Mar 13 Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
Python常见字典内建函数用法示例
May 14 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
python——全排列数的生成方式
Feb 26 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 #Python
Python综合应用名片管理系统案例详解
Jan 03 #Python
Python tkinter常用操作代码实例
Jan 03 #Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 #Python
nginx搭建基于python的web环境的实现步骤
Jan 03 #Python
Python如何使用字符打印照片
Jan 03 #Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 #Python
You might like
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
Python中的面向对象编程详解(上)
2015/04/13 Python
python3序列化与反序列化用法实例
2015/05/26 Python
Python学习思维导图(必看篇)
2017/06/26 Python
python模拟事件触发机制详解
2018/01/19 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
python批量修改ssh密码的实现
2019/08/08 Python
openCV提取图像中的矩形区域
2020/07/21 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
逃课上网检讨书
2014/02/20 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
保健品市场营销方案
2014/03/31 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
预防煤气中毒方案
2014/06/16 职场文书
毕业论文致谢词
2015/05/14 职场文书