python基础教程之while循环
作者:耿宝橙的糖 发布时间:2021-02-05 03:02:17
前言
今天来说下python中的循环。循环的意思是什么,以环形、回路或轨道运行;沿曲折的路线运行;特指运行一周而回到原处。这是百度给出的循环的意思。在python中,就是重复执行你给的指令,直至结束。我们现在看下,在python中,循环就是:while;它有它的规则结构,就是while + 条件(冒号,这个别忘记了。): 意思是,当条件不成立时,不循环。举个例子说明一下:
我们先来说下这个例子的意思,首先,while+条件: 这个已经带入到了代码中,这个代码的意思是当循环10次1的时候 ,跳出循环。先定义了num = 1 那么num 就是1的意思,然后while循环,当Num小于等10 的时候,打印num 的数。break跳出,终止循环。为什么要终止循环,我们来看下不加break的测试结果:
就会无线次一直循环。这就是死循环。为了避免死循环的发生,就加了一个break 。break的用法就是,当你想让上一段循环语句结束时,就可以用到break,那么在break以下的代码,也不会被执行。
上面说到了while的用法。为了巩固这个用法,我们嵌套使用if elif 加上while一起使用看下出来的效果是什么样的。我们有在上一章中说到,if elis是结合一起使用的。那么中间是可以嵌套elif的,再加上循环while,我们来举个例子,说明一下:
这是一个猜年龄的游戏,意思就是,当你猜到输入的年龄是60的时候,终止循环,如果你输入的年龄大于60,提示太大了,如果小于60,提示太小了。我们来逐个看下,每一段代码的意思。首先,我们定义变量,age年龄是60岁。定义它,是为了接下来要猜测年龄做准备。while True :这个意思是无限循环。这个的用法是,如果你所需的条件,等于你所输出的条件是正确的时候,就break,终止循环,否则就是无限循环。(是不是还不太懂,没关系,这个就记住是无限循环的意思。往后看就明白了。)接下来的这一段,user_input_age = int(input('age is :'))意思就是,定义你要输如数字的变量,int,这个解释我在上一章讲过,就是把字符串变成数据时使用。简单理解,就是你要输出的数字。if 判断,如果,user_input_age输入的数字,等于你定义的年龄60的时候,那就打印出来yes,那这个条件就是为真。是正确的,真实的,那么就break,终止循环。elif,再如果,user_input_age> age:这句话意思就是,如果你输出的年龄大于定义的年龄60的时候,那就打印出,太大了。else,其它的,就是小于60的,那就是输出太小了。注意,else,是当while循环后执行,只在break时不执行。意思就是说如果你加了break ,那就终止了,不会再执行了。那么continue的意思呢,跳过当次循环,继续循环的意思。如果你不加continue,就会无限循环,结果就跟上面的111111一样,无限循环你输入的年龄。然后print(‘'END‘')结束。我们来看下这段代码执行的结果:
while True的意思就是,如果你的条件为真了,是正确的结果,你break停止循环了时候,就会进入下一个循环。
我们进一步来说下while使用嵌套循环的方法,嵌套循环,就是循环套循环使用。比如,我们输入数字几,就打出几行几列的#号键:
首先我们先定义好行数:height = int(input('Height:'))
然后 定义好输入的列数:width = int(input('Width:'))
循环条件定义:num_height=1这是行数循环。同理列数循环定义也是1。
用循环方式,当num_height小于等于你的行数。就是小于或者等于你输入的数字。就打印出来#号键,并且加空格。循环num_height +=1的意思意思就是。我一开始定义了unm_height是1,每次都加一循环。但是条件是小于我输入的数字。例如,我输入的数字是个3,那么每次循环加1,第一次循环是1,1小于3,打印出第一个#号,再一次循环,1+1=2,2小于3,打印出第二个#,第三个循环2+1=3,3等于3 打印出第三个#。print ("#",end=" "),这个意思是打印#号键,并且以一个空格分隔开。连着print()就是换行的意思,(结果会看到什么是换行)当一个条件执行完毕,再执行下一个条件,就是说先执行我第一定义的行数。再执行列数。行数执行完毕,同理,列也是一样的意思。我先定义好你即将输入的列数,你输入多少就是多少。然后再用列数每次循环加一。假定也是3,那就是每次循环加1,直到等于3,为止。循环结束。结果就是:
在这就能看到换行的意义了吧。
上面只是简单介绍了嵌套循环的用法,我们可以升级一下,利用*星号键,来组一个倒三角形。我们看下代码,然后解释一下:
根据代码的描述,先定义Line的值,我定义为5,循环line,当line大于0时,我加了一个注释的意思就是打印出来五列*。就是如图的结果:
但是我想要的是第一行是五个,第二行四个,第三行三个,第二行两个,第一行一个。就是:
这样的效果。那第一列出来的是五个,line是不能动的值。那就需要循环套用循环,再写一个循环定义tmp 等于line,就是tmp也是等于5,然后,内循环tmp,并且以一个空格换行的形式输出*号键。tmp= tmp -1的意思是,循环一次外循环的line的值赋予tmp减去一。比如,line是5时,出来五个星,但是line - =1就是每次循环,第一次循环是5个星,当line -=1 时,赋值给到tmp,那么tmp也会减去1.内循环减去1,也就是4。直到,tmp无法大于0,循环结束。
九九乘法表就是套用上面的循环,如图:
这个嵌套循环的意思,跟上面星星的意思是一样的。很简单吧~~~反正我是烧脑了半天~~~~~~ 敬请期待下一集。
来源:https://www.cnblogs.com/gengzhaodan1314/p/7831621.html


猜你喜欢
- Python 模块EasyGui详细介绍前言:在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库。下
- Golang精编100题能力模型(测试)初级primary:熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码
- 很久之前,分享过一次Python代码实现验证码识别的办法。当时采用的是pillow+pytesseract,优点是免费,较为易用。但其识别精
- 解决办法: 1.新建一个同名的数据库(数据文件与原来的要一致) 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文
- 1、配置安装源# 安装dnf install http://mirrors.ustc.edu.cn/mysql-repo/mysql80-c
- 函数内省(function introspection)除了__doc__属性, 函数对象还有很多属性,对于下面的函数,可以使用dir()查
- python爬虫--爬取网易云音乐评论方1:使用selenium模块,简单粗暴。但是虽然方便但是缺点也是很明显,运行慢等等等。方
- 目录1、SKlearn 是什么2、SKlearn 的安装3、SKlearn 内置数据集测试问题数据集实际问题数据集4、Sklearn 数模笔
- 安装MySQL假设你把所有必须的源码或者包都放在了/tmp下。如果你下载的是RPM包的话,那比较简单;如果你下载的是二进制包(你没有rpm程
- 一、前言我们在使用pycharm写代码时可能出现过下面这种情况,不小心点到了ignore ....:这样会导致整个代码都没有错误提示了,类似
- 1、引言小 * 丝:鱼哥, 都说要想代码写的溜,Lamdba不能少。小鱼:你在项目代码多写几个lamdba试试,看看架构师找不找你喝茶水。小 * 丝
- 在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了
- 一、开发接口的作用1、mock接口:模拟一些接口。有一些有关联的接口,在别的接口没有开发好的时候,需要用这个接口,就可以写一个假接口,返回想
- 微信网页授权认证根据微信官方文档,网页授权需要四个步骤, - 用户同意授权-获取code - 通过code 获取网页授权access_tok
- Javascript 中将多个语句写成一个语句的两种方法小结一、使用逗号运算符将多个语句写成一个语句 1.一次声明多个变量&nb
- 关于Python数据分析中pandas模块在输出的时候,每行的中间会有省略号出现,和行与行中间的省略号....问题,其他的站点(百度)中的大
- Go的error比较灵活.但是自身对error处理的机制有不太好用,我们可以自定义错误输出:只要所有实现了Error()方法的对象都可以,
- 简介提到爬虫,大部分人都会想到使用Scrapy工具,但是仅仅停留在会使用的阶段。为了增加对爬虫机制的理解,我们可以手动实现多线程的爬虫过程,
- 我就废话不多说了,大家还是直接看代码吧~<input type="text" maxlength="11
- 本文实例讲述了python飞机大战pygame碰撞检测实现方法。分享给大家供大家参考,具体如下:目标了解碰撞检测方法碰撞实现01. 了解碰撞