文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python While 循环语句

2023-01-30 21:57

关注

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

其基本形式为:

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

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

图片.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

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

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

#!/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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯