python基础教程之while循环

yipeiwu_com5年前Python基础

前言

今天来说下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,循环结束。

九九乘法表就是套用上面的循环,如图:

这个嵌套循环的意思,跟上面星星的意思是一样的。很简单吧~~~反正我是烧脑了半天~~~~~~ 敬请期待下一集。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

关于pip的安装,更新,卸载模块以及使用方法(详解)

在Python的学习过程中,肯定会遇到很多安装模块的地方,可以使用easy_install安装,但是easy_install相对于pip而言,最大的缺陷就是它所安装的模块是不能够卸载的,...

python直接获取API传递回来的参数方法

之前用python调用API存JSON的时候试用了很多方法,现在调用API直接获取参数的时候也是查了好多例子(毕竟我是一个初学者)。 结果让我发现了,原来只用把之前写的方法中去掉传参即可...

pandas 层次化索引的实现方法

层次化索引是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。 创建一个Series,并用一个由列表或数组组成的列表作为索引。 data=Series(np...

Python 3中print函数的使用方法总结

前言 Python 思想:“一切都是对象!”,最近发现python3和python2中print的用法有很多不同,python3中需要使用括号,缩进要使用4个空格(这不是必须的,但你最好...

Python中进程和线程的区别详解

Num01–>线程 线程是操作系统中能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 一个线程指的是进程中一个单一顺序的控制流。 一个进程中可以并发多条线程...