Python趣味入门教程之循环语句while


Posted in Python onAugust 26, 2020

前言

任何语言都有循环语句,在Python里循环更是变化无穷,有基本的循环,有循环else语句,引伸出来的还有迭代器、推导式,咱们先学习最简单的一种。

While循环 

while 条件判断语句:

子代码1

子代码2

子代码3


子代码N
主代码1

while语句的格式与if类似,子代码必须进行缩进4个空格,作用却是大不相同。当它执行第一次循环时,判断条件是否成立,如果条件成立,就从子代码1开始执行到子代码N,然后程序会回到while语句再次判断条件是否成立,如果成立就继续从子代码1开始执行,如果不成立就跳过子代码段,系统从主代码1开始往后执行。

话说在North Kingdom北境国的北面夜王控制了塞外,曾经春夏交织,现在每天雪花连绵,似乎进入了无限循环状态。

类似于永不停止的重复动作即无限循环,实现它需要在写条件判断语句时,直接写上永远为True的判断结果,简单直接使用True,以实现了无穷循环的功能,如下面的程序所示:

>>> while True:
    print('下雪')
下雪
下雪
下雪
下雪
下雪
下雪 (按下Ctrl+C来终止程序无穷运行)
KeyboardInterrupt   
>>>

身为北境守卫者的我 - 中文名雪诺(英文名Snow)决定越过长城北,解决掉夜王。国王Stannis请我在王宫500个最强壮的卫兵中,挑选10人同行,由于时间有限不可能全部面试500人为了公平,于是我决定由电脑随机挑出1个人,通过后即出队入选,这样重复多次直到10人选满为止。
关于这个挑人程序,现在分析如下:

  1. 首先定义队伍人数,初始值是500。
  2. 面试后如选中一人,队伍中会少一个人。
  3. 如果未选中,让其归队,队伍人数不会变化。
  4. 无论上一次有没有选中,只需要在剩下的人数里再继续产生随机数(注意:并不是从原来整个500人中产生)。
  5. 如果剩下的人数是490人就意味着10人已经选满,循环结束。
    至此逻辑已经很清楚了,看看您是不是已经把程序写出来了呢?

本程序从500人的队伍里,随机挑出,如果满意就入选,不满意就归队

import random #使用随机数工具
volunteer = 500
while volunteer > 500-10: #当剩下的人数大于490时才继续面试
 test = random.randint(1,volunteer)
 if(input('还剩下'+ str(volunteer)+'人,这是随机挑选的第'+str(test)+'号,您满意么(y/n)?') == 'y'):
  volunteer -= 1 #入选后队伍就会少1人
print('您已经选足了10个人!')

上面程序使用了无限循环,为实现满足选定10人就退出的功能,在循环里进行了条件判断,满足条件退出Python,程序运行结果如下所示:

还剩下500人,这是随机挑选的第329号,您满意么(y/n)?y
还剩下499人,这是随机挑选的第113号,您满意么(y/n)?n
还剩下499人,这是随机挑选的第176号,您满意么(y/n)?y
还剩下498人,这是随机挑选的第243号,您满意么(y/n)?y
还剩下497人,这是随机挑选的第315号,您满意么(y/n)?y
还剩下496人,这是随机挑选的第413号,您满意么(y/n)?y
还剩下495人,这是随机挑选的第375号,您满意么(y/n)?y
还剩下494人,这是随机挑选的第440号,您满意么(y/n)?y
还剩下493人,这是随机挑选的第389号,您满意么(y/n)?y
还剩下492人,这是随机挑选的第388号,您满意么(y/n)?y
还剩下491人,这是随机挑选的第231号,您满意么(y/n)?y
您已经选足了10个人!

在运行过程中第2次输入不满意n时,可以看到剩下的人数499并没有变化。

在这里循环和判断都是之前讲过的内容,重点是下面的语句:

import random

这句话是告诉计算机,我马上要使用random模块,模块就是系统中提供高级功能的工具包。为什么要执行这条语句呢?主要是因为系统内置会提供一些功能,比如条件语句、判断语句、计算语句,为了节约内存不可能把所有功能都提供,所以当我们使用手边没有的工具时(比如本程序用的随机数)就要声明,好让程序加载到内存里。

下面的语句里,volunteer是变量,表示剩下的人总数,randint()这种带括号形式的写法,表示函数的执行,该函数返回从1到volunteer之间(也包括)任意随机数(代表抽出的人的编号),最后把抽出的编号赋值保存于test变量。

test = random.randint(1,volunteer)

说明:当执行外部模块的函数,要用英文符号圆点.

Python趣味入门4:while循环示例

Python趣味入门教程之循环语句while 

总结

到此这篇关于Python趣味入门教程之循环语句while的文章就介绍到这了,更多相关Python循环语句while内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
Python正则表达式分组概念与用法详解
Jun 24 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
Dec 11 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
对pandas replace函数的使用方法小结
May 18 Python
python画双y轴图像的示例代码
Jul 07 Python
关于python字符串方法分类详解
Aug 20 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 #Python
如何把python项目部署到linux服务器
Aug 26 #Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 #Python
python 多线程死锁问题的解决方案
Aug 25 #Python
详解Pycharm与anaconda安装配置指南
Aug 25 #Python
Python如何爬取51cto数据并存入MySQL
Aug 25 #Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 #Python
You might like
几个php应用技巧
2008/03/27 PHP
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
php-fpm配置详解
2014/02/12 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
什么是类的返射机制
2016/02/06 面试题
大三预备党员入党思想汇报
2014/01/08 职场文书
实习单位接收函
2014/01/11 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
绿色环保口号
2014/06/12 职场文书
合理化建议书
2015/02/04 职场文书
歼十出击观后感
2015/06/11 职场文书
运动会入场词
2015/07/18 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
springcloud整合seata
2022/05/20 Java/Android