前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python While 循环语句

python While 循环语句

作者头像
py3study
发布2018-08-02 16:05:06
1K0
发布2018-08-02 16:05:06
举报
文章被收录于专栏:python3python3

python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

其基本形式为:

while 判断条件:
    执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。 当判断条件假false时,循环结束。 执行流程图如下:

图片.png
图片.png

还是上一篇文章,讲的猜年龄的例子,需要无限次数执行

可以使用while循环来做,代码如下:

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

age_of_oldboy = 56
while True:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("yes, you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller...")
    else:
        print("think bigger!")

执行效果如下:

cai2.gif
cai2.gif

break 表示跳出循环,否则程序无法退出

如果不想无限次数猜,只限制3次机会,怎么做呢?代码如下:

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

age_of_oldboy = 56
#初始次数
count = 0
while True:
    if count == 3:
        print("only allow 3 guesses!")
        break
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("yes, you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller...")
    else:
        print("think bigger!")
    #每次执行加1
    count += 1

执行效果如下:

cai3.gif
cai3.gif

代码还可以优化一下,如下:

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

age_of_oldboy = 56
#初始次数
count = 0
#判断次数,是否小于3次
while count < 3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("yes, you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller...")
    else:
        print("think bigger!")
    #每次执行加1
    count += 1
#判断执行次数
if count == 3:
    #提示只允许猜3次
    print("only allow 3 guesses!")

上面代码,表示针对某一个条件做循环。

最后,当尝试3次之后,提示信息,程序结束。

针对最后的if判断,其实是可以省略的,代码如下:

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

age_of_oldboy = 56
#初始次数
count = 0
#判断次数,是否小于3次
while count < 3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("yes, you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller...")
    else:
        print("think bigger!")
    #每次执行加1
    count += 1
else:
    #提示只允许猜3次
    print("only allow 3 guesses!")

为什么一个else就搞定了呢?

这就是python优秀的地方

当次数小于3次,可以继续猜

否则就必定大于3次,程序直接输出提示信息,程序退出。

再来加一个条件,当次数达到3次的时候,提示是否继续?输入y继续,输入n,程序终止!

代码如下:

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

age_of_oldboy = 56
#初始次数
count = 0
#判断次数,是否小于3次
while count < 3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("yes, you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller...")
    else:
        print("think bigger!")
    #每次执行加1
    count += 1
    #当次数达到3次的时候
    if count == 3:
        #提示是否继续游戏?
        continue_confirm = input("Do you want to continue y/n ?")
        #不输入n时
        if continue_confirm != "n":
            #次数重置为0
            count = 0

执行效果如下:

cai4.gif
cai4.gif
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档