无论是传统编程场景还是当下火爆的人工智能应用场景,循环的应用都是必不可少的,上一篇文章中阐述了如何使用for循环来进行编程,这篇文章将会由一个小朋友经常听的故事来讲Python编程中的while循环。

大灰狼来敲门了

小兔子乖乖的故事大家都听过,依稀的记得是大灰狼来敲门,小兔子不开门,妈妈回来了,小兔子就把门儿开开了。那么我们用程序来如何来描述这个过程呢?

在开始写代码之前,我们首先来看一下while循环的基本语法:

while 判断条件是否成立,如果成立,那么开始执行循环:
执行循环中的具体代码

从语法中,我们可以看到,首先我们要明确判断条件,根据故事中描述的场景,我们的判断条件就是妈妈回来了,小兔子才会开门,否则小兔子是不会开门的。

首先我们要学习一个input函数,这个函数的意思就是要让用户在终端中输入一段文字,那么我们该如何使用呢?

input("你是谁?")

运行这样的代码,我们就能够获取到用户输入的名字

运行示例

为了下边能够根据用户输入的名字来进行判断,我们将会采用下边的这种写法,我们使用name变量来接住用户输入的内容,也就是把用户输入的内容赋值给变量name

name = input("你是谁?")

下面我们继续梳理逻辑,当名字输入不是妈妈时,门是关着的,也就是说循环会继续,只有当名字是妈妈时,门才会开,循环结束,代码运行停止。按照这套逻辑我们来继续书写代码

# 首先我们声明一个变量名字,让用户先输入一次
name = input("你是谁?")
# 判断名字不等妈妈的时候我们继续循环
while name!="妈妈":
print("门关着,妈妈没回来")
# 这里让用户继续输入名字是谁
name = input("你是谁?")
# nama等于了"妈妈",循环结束
print("门开了,妈妈回来了")

由于我们的是在命令行输入的,所以代码必须分段来进行输入,要不然不行,下边这段代码中,我第一次让name等于了一个空的字符串,其实是一样的,大家在练习的时候都可以试一下。

由于我们现在是在命令行中输入的代码,所以只能分段输入

如果上边的逻辑觉得有那么一点绕,那么我们再看下一种写法,用一种正向的判断写法

# 首先我们把循环判断一直写成真的,也就是通常所说的死循环
while True:
# 这里让用户输入一个名字
name = input("你是谁?")
# 判断用户输入的名字是否等于妈妈
if name == "妈妈":
# 打印一下我们想要的结果
print("妈妈回来了,门开了")
# break的意思就是跳出循环
break
print("妈妈没回来,不开门")

这就是while循环的用法,很简单,但是很常用

大周的技术屋,力争一天一个技术点,带你领略编程的乐趣。

一个小故事,玩转Python-while循环的更多相关文章

  1. 通过一个小游戏开始接触Python!

    之前就一直嚷嚷着要找视频看学习Python,可是一直拖到今晚才开始....好好加油吧骚年,坚持不一定就能有好的结果,但是不坚持就一定是不好的!! 看着视频学习1: 首先,打开IDLE,在IDLE中新建 ...

  2. 通过一个小故事,理解 HTTPS 工作原理

    本文摘录参考: 细说 CA 和证书(主要讲解 CA 的使用) 数字签名是什么?(简单理解原理) 深入浅出 HTTPS 工作原理(深入理解原理) HTTP 协议由于是明文传送,所以存在三大风险: 1.被 ...

  3. 关于H标签 DL DT DD标签的一个小故事

    看了一篇关于SEO论坛的论文,大概故事内容是:一个专业的销售公司,里面SEO  技术多多,可就是销售网站的SEO的情况极为恼火.这天,老板又招到了一个SEO,直接聘为SEO主管全权负责网站的SEO,并 ...

  4. Pygame:编写一个小游戏 标签: pythonpygame游戏 2017-06-20 15:06 103人阅读 评论(0)

    大学最后的考试终于结束了,迎来了暑假和大四的漫长的"自由"假期.当然要自己好好"玩玩"了. 我最近在学习Python,本意是在机器学习深度学习上使用Python ...

  5. 小故事理解TCP/IP连接时的三次握手

    在TCP/IP协议中,TCP协议通过三次握手建立一个可靠的连接,示意图如下: 下面通过一个小故事简单理解一下这三次握手的具体含义: 一天,快递员小客(客户端)准备去小服(服务器)家去送快递(准备与服务 ...

  6. 从壹开始 [ Design Pattern ] 之三 ║ 工厂模式 与 小故事

    编者按: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使得一个类的实例化延迟到子类. 工厂模式,是迄今为止,使用最多,最广泛的设计模式之一,它的身影几乎出现在每一个框架和个人代码之中 ...

  7. vue小故事之父子(上下级)通信之父传子props

    vue小故事之父子(上下级)通信之父传子props vue 父子(上下级)通信 props  或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有 ...

  8. POJ-3262 贪心的一个小技巧

    Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3204   Accepted: ...

  9. Python 工匠:一个关于模块的小故事

    前言 模块(Module)是我们用来组织 Python 代码的基本单位.很多功能强大的复杂站点,都由成百上千个独立模块共同组成. 虽然模块有着不可替代的用处,但它有时也会给我们带来麻烦.比如,当你接手 ...

随机推荐

  1. python中常见的日期处理方法

    今天:today = datetime.date.today() 昨天:yesterday = today - datetime.timedelta(days=1) 上个月:last_month = ...

  2. JSP网页中文乱码

    在编程过程中总是由于各种原因出现中文乱码.最好的解决方法就是把代码中所有编码格式全部设置为UTF-8,这样一般能解决大部分问题,但是今天我发现另外一种情况.我们都知道当一个jsp文件中全部都是html ...

  3. Java并发包--ArrayBlockingQueue

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498652.html ArrayBlockingQueue介绍 ArrayBlockingQueue是数 ...

  4. SSH自动断开处理

    解决ssh登录后闲置时间过长而断开连接 时我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,总结一下解决此问题的方法 方法一. 修改/etc ...

  5. python字典的增删改查操作

    一.字典  (键值对) 1.字典的基本格式:{key1:1,key2:2} 2.字典里的键必须是不可变的(如:数字,字符串,元组,bool值);值是可变的,可用数字,字符串,列表,字典等. 3.字典里 ...

  6. http响应Last-Modified和ETag

    http响应Last-Modified和ETag [日期:2008-06-16] 来源:  作者: [字体:大 中 小] 基础知识 1) 什么是”Last-Modified”? 在浏览器第一次请求某一 ...

  7. python函数入参和返回值

    以下内容参考自runoob网站,以总结python函数知识点,巩固基础知识,特此鸣谢! 原文地址:http://www.runoob.com/python3/python3-function.html ...

  8. Python 9--特殊方法

  9. P2587 [ZJOI2008]泡泡堂 神仙贪心

    思路:贪心 提交:1次(看了题解$QwQ$) 题解: 若我方最弱可以干掉对方最弱,则干: 否则若我方最强可以干掉对方最强,则干: 否则若我方最弱与对方最强平手,则平: 其实貌似一二条是可以互换的,主要 ...

  10. oracle数据库外连接

    外连接作用:(左外连接和右外连接;注:没有全外连接) 希望把某些不成立的记录(40号部门),仍然包含在最后的结果中 左外连接:当where e.deptno=d.deptno不成立的时候,等号左边的表 ...