首页 > 代码库 > 1.5 Python基础知识 - while循环

1.5 Python基础知识 - while循环

  在我们生活中有很多反复要做的事情,或者动作,我们称之为循环。在开发程序中也会有循环的事情要去做,就是需要反复的去执行某个代码,或者反复进行某种演算,直到达到某种条件的时候才会停止。在Python中我们使用的是while循环。

  伪代码:

   条件成立:

    执行循环体

  直到条件不成立

 

  代码格式:

while ...:
    ...

 

  示例代码:

n = 0

while n < 10:
        n = n + 1
        # 或者 n += 1
        print(n)

# 执行结果

1
2
3
4
5
6
7
8
9
10

  在示例代码中,我们将n赋值初始值为0,在while循环体对n进行自增操作,直到n<10不成立,即n大于10,才结束循环。在循环中,我们要注意一定要有结束条件,不要造成无限循环,即死循环。

  下面我们再看一个猜数字代码示例:

number = 47

while True:
    guess_number = input("请输入你要猜的数字:")

    # 因为通过input接收到参数是字符串,我们需要将字符串转换成数字,才可以进行比较操作
    guess_number = int(guess_number)

    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")

  在猜数字示例代码中,我们将变量number赋值数字47,这里的循环内容是反复询问用户输入数字,进行比较,循环结束条件是:guess_number等于number,而跳出循环是由循环控制词break进行控制。在循环中控制循环的词除了break还有continue。break,是跳出整个循环,continue,是结束当前循环,继续执行下面的循环内容。

  continue示例:

n = 0

while n<10:
    n += 1
    if n == 6:
        continue
    print(n)

# 执行结果

1
2
3
4
5
7
8
9
10

  在这个示例中,可以看出来,循环体对n不断进行自增操作,并打印出n的数值,当n等于6的时候,遇到了continue,跳出了当前的循环,没有打印出来,继续执行剩下的循环内容,直到条件不满足。

  猜数字我们可以修改一下,在一定次数内才可以猜到,限制猜的次数。

number = 47
count = 0 
while count < 3:
    guess_number = input("请输入你要猜的数字:")
    guess_number = int(guess_number)

    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")

    count +=1

 

  我们再增加一个条件,当猜的次数到达3次,退出循环,并告知退出原因。

number = 47
count = 0
while count < 3:
    guess_number = input("请输入你要猜的数字:"
    guess_number = int(guess_number)

    if guess_number == number:
        print("恭喜你猜对了!")
        break
    elif guess_number > number:
        print("猜的太大了!")
    else:
        print("猜的太小了!")

    count +=1

else:
    print("抱歉!你猜的次数太多了!")

  这里我们只是增加了else代码块,这里的意思是当while中的循环,正常循环完毕,while的循环条件不成立,(即count大于等于0),没有经过break而结束,才会执行的代码块!

 

1.5 Python基础知识 - while循环