python中关于while循环和for循环的区别思考

#python day02

while循环和for循环区别在哪里?

一般在使用循环时,知道执行次数的时候一般用for,条件循环时一般用while。for循环可以设置次数,while循环条件满足没有次数限制。

  • 两种循环在构造死循环时的区别:

    while循环里的条件被看成表达式,因此,当用while构造死循环时,里面的TRUE实际上被看成永远为真的表达式,这种情况容易产生混淆,有些工具软件就会认为出错了,因此构造死循环时,最好使用for来进行。

  • 两种循环在普通循环时的区别:

    对一个数组进行循环时,一般来说,如果每轮循环都是在循环处理完后才讲循环变量增加的话,使用for循环比较方便。

如果循环处理的过程中就要将循环变量增加时,则使用while循环比较方便。

还有在使用for循环语句时,如果里面的循环条件很长,可以考虑用while循环进行替代,使代码的排版格式好看一些。

例子:《射雕英雄传》里面黄蓉对瑛姑说:今有物不知数,三三数之剩二,五五数之剩三,七七数之剩二,几何?
这里的问题提前设置好了条件,因此我们通过使用while循环来解决问题。代码如下:

print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,几何?")
none = True   #将条件设置为真,直到找到要求的数值
number = 0    #计数的变量
while none:
    number += 1
    if number%3 == 2 and number%5 == 3 and number%7 == 2:
        print("瑛姑回答:此数乃是",number)
        none = False

运行截图如下:
在这里插入图片描述
因此我们在解决问题的时候,如果给出条件,我们应该首先考虑while循环。

由于在python中for循环语句和c/java有些许不同,for循环语句通常要使用到range()函数,因此我们先来探讨一下range()函数。
在这里插入图片描述
range()函数可以生成比如1,2,3…100或者1,3,5,7,9等等的一系列等差数列。它的使用格式如下:
在这里插入图片描述
start表示从哪个数字开始,end表示到哪个数结束,step表示间隔几个数。其中start和step可以省略不写,start和step省略时默认值分别为0和1。range(X,Y)表示时,X和Y为start和end。
=小试牛刀=
*** 计算1-100整数之和***
代码如下:

print("计算1+2+3+...+100之和")
result = 0
for i in range(101):
    result += i
    print(result)

运行结果如下:
在这里插入图片描述
在这里end数值为什么是101呢?
因为range()中end的结束值不包括该值,即range(7),得到的值是0-6,不包括7.
现在我们再用for循环语句来解决瑛姑的问题吧!此时题目要求在0-99之间找到这个数
代码如下:

print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,几何?")
for number in range(100):
    if number%3 == 2 and number%5 == 3 and number%7 == 2:
        print("瑛姑回答:此数乃是",number)
       

运行如下:
在这里插入图片描述

使用循环语句的时候,千万不要忘记了":"这个符号哦!

相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页