Python的while循环

布啦豆 6513

在前面的Python判断与循环中,介绍了for循环,也叫作遍历循环,使用要求是对一个集合数据进行一个遍历,遍历的次数就是数据中元素的个数

本篇文章中介绍的主要是while循环——判断条件进行循环,判断一个条件是否成立,成立就执行循环内的代码块,然后再判断;不成立则跳过往下执行

先补上一个基础的while循环代码

#定义number数组,里面有6个元素
number = [12, 37, 5, 42, 8, 3]
#定义偶数的列表
even = []
#定义奇数列表
odd = []
#while循环语句,如果numbers里面元素的个数大于0,就进行筛选
while len(numbers) > 0:
    #pop是弹出函数,弹出列表尾部的元素,赋值给number参数
    number = numbers.pop()
    #进行if判断,能整除,偶数;不能就是奇数
    if(number % 2 == 0):
        even.append(number)
    else:
        odd.append(number)

附上一个神奇的gif图,助消化【图片来自www.penjee.com】 python的while循环

通俗易懂了吧

对比for循环和while循环,哪个时候该用哪个循环?

  • 在知道循环次数的情况下,for循环是最好的
  • 在不知道循环次数,但知道循环条件的情况下,while循环是最直白的
  • 当然两者有时候可以互通,只是有时候

举个栗子,在前面的if和for循环做的一个猜数字游戏,我们是规定了猜的次数,如果不限定才多少次呢?

这种情况下,for循环也是可以做的,只要for i in range(1,3)后面的range(1,3)的数字改成可以变动的参数,然后在for循环内部对参数进行一个增加

不过while会说:显然是多余的。

用while循环很直白,猜数字游戏的前提条件,猜对就退出,猜错就继续;下面对猜数字游戏进行一个循环条件更改:

import random
answer = random.randint(1,10)
guess = ""
while guess != answer:
    if guess == "":
        print('猜数字游戏开始,猜测范围是1-10')
    elif guess < answer:
        print('猜小了')
    else:
        print('猜大了')
    guess = int(input('please input you guess number: '))
else:
    print('猜对了,好厉害,正确答案是:', answer)

可以一直猜哦【开挂了】~ while无限猜数字

版权声明:允许转载,转载请注明出处 —— 《Python3教程》: Python的while循环

Copyright @2016-2017 | 赣ICP备16003025号