Python 极简教程(十三)while 循环

循环简单来说就是让一段代码按你想要的方式多次运行。软件拥有强大的运算能力,就是由循环提供的。
在 Python 中支持的循环由两种:while 循环 和for 循环。
现在我们先来讲while循环。

while 的中文意思为当...的时候。顾名思义,当条件满足的时候做什么事情。
来看看 while 语句的格式:

while 条件:
  当条件成立的时候,执行这里的语句    # 注意缩进

while 循环,当条件满足的时候,执行 while 包含的语句块,直到条件不满足,则退出循环,继续执行后面的语句。

while 主要用于无法确定循环次数的时候:

# 看一个练习:
# 当一个变量小于5时,持续打印变量的值,超过5则退出。
i = 0
while i < 5:
    print(i)
    i += 1

while 循环很容易出现死循环。上面的例子中,如果我们忘了让 i 的值自增,那么 i < 5会一直成立。print 语句会一直打印。试一试?!
如果不幸出现死循环,在 IDLE 工具中,直接按 Ctrl + C 强行结束即可。如果编码工具,点红色的方块,马上结束运行。

由于 while 容易出现死循环,所以我们在实际使用过程中,while 循环的使用频率远低于我们后面要讲的 for 循环。

不过对于某些无法确定次数的循环,或者需要条件触发条件结束的情况,用 while 更方便。

# 再看一个例子
# 输入一个数,当这个数的平方大于100时退出,否则持续接收用户输入
i = 0
while i**2 <= 100:
    i = int(input('请输入一个数:'))

上面的例子,无法确定用户会输入多少次才会出现平方大于100的情况,那么我们就可以使用 while 循环。

另外, while 循环也会经常和 break 语句组合来用。

break 语句用于结束当前循环

我们可以通过死循环加上在合适时机通过 break 退出循环来达到我们想要的效果。
把上面的平方例子改一下:

while True:      # 保持一直循环的状态
    i = int(input('请输入一个数:'))
    if i**2 > 100:
        break

是不是容易书写和理解一些?

我们可以把上一节的练习,全部加上 while 循环,这样让我们可以一直操作,直到我们厌烦为止,而不用每运行一次都要重新再执行。

比如第一个练习:
输入一个int型的数据,判断这个数是否能被2整除,如果能被2整除,那么输出“这个数是偶数”,否则输出“这个数是奇数”。

# 持续判断,直到用户输入0的时候 ,退出。
while True:
    num = int(input('请输入一个数:'))
    if num == 0:
        print('你选择了退出!')
        break
    elif num % 2 == 0:    # 一个数取余2为0则是偶数
        print('这个数是偶数!')
    elif num %  2 == 1:
        print('这个数是奇数!')
    else:
        print('输入有误,请输入一个整数!')
# 试着把 num==0 的条件放在后面,试试还可以退出么?为什么?

本节练习:

  1. 首先把上一节的练习全部改造为 while 语句,一直运行直到使用你自己希望的方式结束循环;
  2. 使用 while 循环实现 100 以内的累加(包括100)
  3. 纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848米?(注意单位)
posted @ 2019-03-27 22:03  小满测试  阅读(678)  评论(0编辑  收藏  举报