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使用爬虫猜密码
Feb 19 Python
python 中split 和 strip的实例详解
Jul 12 Python
Python 闭包的使用方法
Sep 07 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
python交互式图形编程实例(三)
Nov 17 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 Python
Python socket聊天脚本代码实例
Jan 02 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
Nov 17 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 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
介绍几个array库的新函数 php
2006/12/29 PHP
php 文件上传系统手记
2009/10/26 PHP
php常用Stream函数集介绍
2013/06/24 PHP
php实现的RSS生成类实例
2015/04/23 PHP
php实现的用户查询类实例
2015/06/18 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
PDO::getAttribute讲解
2019/01/28 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
Python 基础之字符串string详解及实例
2017/04/01 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
python中如何使用insert函数
2020/01/09 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
电大自我鉴定
2013/10/27 职场文书
入党积极分子介绍信
2014/01/17 职场文书
建议书标准格式
2014/03/12 职场文书
信息技术课教学反思
2016/02/23 职场文书