1. while循环

之前学过的for循环适用于操作集合中每一个元素的代码块,而while循环可以不断运行,直到不满足条件为止。

java 如果不满足一直循环 while循环不满足条件就退出?_字符串

1.1 使用while循环

首先我们编写一个简单的程序使用二while循环来数数,例如,下面的while循环从1数到5:

counting.py


current_number = 1
①while current_number <= 5:
    print(current_number)
②    current_number += 1

①处的代码表示,当变量current_number中的数值小于等于5则执行循环,注意后续的while循环代码块中的代码要在之前输入4个空格或者一个制表符。②处的代码表示循环每进行一次,变量current_number中的数值自增1。程序运行结果为:


1

2

3

4

5


java 如果不满足一直循环 while循环不满足条件就退出?_while循环_02

while循环的使用范围如此之广,以至于只要你运行以后不会马上结束,而是重复进行操作的Python程序中,都多半会有while循环的身影。鉴于此,while循环是非常有用的。

1.2 让用户选择何时退出

可使用while循环让程序在用户意愿下运行,当用户想要退出时,只需要输入关键字就可以结束程序:

parrot.py


①prompt = "\nTell me something, and I'll repeat it back to you:"
②prompt += "\nEnter 'quit' to end the program."
③message = ""
④while message != "quit":
⑤    message = input(prompt)
    print(message)

①、②处先编写提示,与上节所说到的操作相同,此处不再赘述。③处首先将空字符串存入变量message中,为之后进入循环结构做准备。④处定义while循环结构的运行条件为变量message中的值不为字符串 'quit'。⑤处将用户输入存入变量message中,提示为之前所编写的提示内容。最后打印出message中的值。

while循环结构运行过程为:(1)因为变量message中最开始存储了一个空字符串,因此满足循环条件,开始进入循环;(2)Python显示提示消息,这时用户可以进行输入,这个输入会被当做字符串存入变量message中;(3)打印message中的字符串。


Tell me something, and I'll repeat it back to you:
Enter 'quit' to end the program.Hello everyone!
Hello everyone!
Tell me something, and I'll repeat it back to you:
Enter 'quit' to end the program.Hello again!
Hello again!
Tell me something, and I'll repeat it back to you:
Enter 'quit' to end the program.quit
quit

程序按照我们的期望良好运行,美中不足的是,它将字符串'quit'也当作一条消息打印出来了。解决办法就是使用一条if语句进行输入测试:


prompt = "\nTell me something, and I'll repeat it back to you:"
prompt += "\nEnter 'quit' to end the program."
message = ""
while message != 'quit':
    message = input(prompt)
    if message != 'quit':
        print(message)

此时输出结果已经完全满足我们的要求:


Tell me something, and I'll repeat it back to you:
Enter 'quit' to end the program.Hello everyone!
Hello everyone!
Tell me something, and I'll repeat it back to you:
Enter 'quit' to end the program.Hello again!
Hello again!
Tell me something, and I'll repeat it back to you:
Enter 'quit' to end the program.quit