无论是传统编程场景还是当下火爆的人工智能应用场景,循环的应用都是必不可少的,上一篇文章中阐述了如何使用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. Paper Reading:Faster RCNN

    Faster R-CNN 论文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 发表时间: ...

  2. 菜鸟 Python 100例

    以下参考:菜鸟教程 python100例 == 推荐博客 有四个数字: 1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? import itertools a = ('1','2' ...

  3. 003_linux之点灯(C语言版)

    linux点灯在汇编版中说明了硬件中点灯的原理,C语言中不再陈述,说白了就是控制GPXCON和GPXDTA寄存器就行了,芯片是S3C2440A芯片,查看芯片手册就能懂了,其他芯片也是一样的.C语言版就 ...

  4. CF922D Robot Vacuum Cleaner 贪心+排序

    正确的贪心方法:按照比例排序. code: #include <bits/stdc++.h> #define N 200000 #define ll long long #define s ...

  5. ADC-DAC

    一,ADC 模拟信号 什么是模拟信号?主要是与离散的数字信号相对的连续的信号.模拟信号分布于自然界的各个角落,如每天温度的变化, 而数字信号是人为的抽象出来的在时间上不连续的信号.电学上的模拟信号是主 ...

  6. sizeof +数组名

    链接:https://www.nowcoder.com/questionTerminal/daa5422cb468473c9e6e75cc98b771de 来源:牛客网 sizeof一个数组名称的时候 ...

  7. P1582 倒水,P2158 [SDOI2008]仪仗队——数学,二进制

    有n个瓶子,里面都有一升水,但是只想保留k个瓶子,只能两个瓶子里面的水体积相等时才能倒在一个瓶子里:不能丢弃有水的瓶子:瓶子容量无限: 问需要购买几个额外的瓶子才能满足条件: 因为每个瓶子一开始只有一 ...

  8. NSString的创建

    create #progma mark  create NSString void stringCreate(){ //char *s="A String";->c NSSt ...

  9. scrapy框架之shell

    scrapy shell scrapy shell是一个交互式shell,您可以在其中快速调试 scrape 代码,而不必运行spider.它本来是用来测试数据提取代码的,但实际上您可以使用它来测试任 ...

  10. Hadoop Shell命令字典

    转载自:https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6983&extra=page%3D1&page=1&a ...