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模拟Django框架实例
May 17 Python
Python 中 list 的各项操作技巧
Apr 13 Python
Django自定义分页与bootstrap分页结合
Feb 22 Python
Python闭包之返回函数的函数用法示例
Jan 27 Python
python统计多维数组的行数和列数实例
Jun 23 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
详解pandas的外部数据导入与常用方法
May 01 Python
用django设置session过期时间的方法解析
Aug 05 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
python pycharm的安装及其使用
Oct 11 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
python 怎样进行内存管理
Nov 10 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
Zerg剧情介绍
2020/03/14 星际争霸
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
关于vue面试题汇总
2018/03/20 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python正则表达式re之compile函数解析
2017/10/25 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
django使用多个数据库的方法实例
2021/03/04 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
渡河少年教学反思
2014/02/12 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
小学教学工作总结2015
2015/05/13 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
初中英语教学随笔
2015/08/15 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers