一个小故事,玩转Python-while循环
无论是传统编程场景还是当下火爆的人工智能应用场景,循环的应用都是必不可少的,上一篇文章中阐述了如何使用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循环的更多相关文章
- 通过一个小游戏开始接触Python!
之前就一直嚷嚷着要找视频看学习Python,可是一直拖到今晚才开始....好好加油吧骚年,坚持不一定就能有好的结果,但是不坚持就一定是不好的!! 看着视频学习1: 首先,打开IDLE,在IDLE中新建 ...
- 通过一个小故事,理解 HTTPS 工作原理
本文摘录参考: 细说 CA 和证书(主要讲解 CA 的使用) 数字签名是什么?(简单理解原理) 深入浅出 HTTPS 工作原理(深入理解原理) HTTP 协议由于是明文传送,所以存在三大风险: 1.被 ...
- 关于H标签 DL DT DD标签的一个小故事
看了一篇关于SEO论坛的论文,大概故事内容是:一个专业的销售公司,里面SEO 技术多多,可就是销售网站的SEO的情况极为恼火.这天,老板又招到了一个SEO,直接聘为SEO主管全权负责网站的SEO,并 ...
- Pygame:编写一个小游戏 标签: pythonpygame游戏 2017-06-20 15:06 103人阅读 评论(0)
大学最后的考试终于结束了,迎来了暑假和大四的漫长的"自由"假期.当然要自己好好"玩玩"了. 我最近在学习Python,本意是在机器学习深度学习上使用Python ...
- 小故事理解TCP/IP连接时的三次握手
在TCP/IP协议中,TCP协议通过三次握手建立一个可靠的连接,示意图如下: 下面通过一个小故事简单理解一下这三次握手的具体含义: 一天,快递员小客(客户端)准备去小服(服务器)家去送快递(准备与服务 ...
- 从壹开始 [ Design Pattern ] 之三 ║ 工厂模式 与 小故事
编者按: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使得一个类的实例化延迟到子类. 工厂模式,是迄今为止,使用最多,最广泛的设计模式之一,它的身影几乎出现在每一个框架和个人代码之中 ...
- vue小故事之父子(上下级)通信之父传子props
vue小故事之父子(上下级)通信之父传子props vue 父子(上下级)通信 props 或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有 ...
- POJ-3262 贪心的一个小技巧
Protecting the Flowers Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3204 Accepted: ...
- Python 工匠:一个关于模块的小故事
前言 模块(Module)是我们用来组织 Python 代码的基本单位.很多功能强大的复杂站点,都由成百上千个独立模块共同组成. 虽然模块有着不可替代的用处,但它有时也会给我们带来麻烦.比如,当你接手 ...
随机推荐
- 获取当前日期或者某个日期相隔N天内的全部日期以及星期几
业务需要需要获取当前日期相隔30天内的全部日期以及星期几,没插件因此特地写了一个: /* 说明:获取当前日期或者某个日期相隔N天内的全部日期以及星期几 使用: let test = new getdi ...
- 推荐一个.NET(C#)的HTTP辅助类组件--restsharp
互联网上关于.NET(C#)的HTTP相关的辅助类还是比较多的,这里再为大家推荐一个.NET的HTTP辅助类,它叫RestSharp.RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的H ...
- windows 端口转发 netsh
原文地址 listenaddress # 本地监听的ip listenport # 本地监听的端口 connectaddress # 转发请求接收的主机ip connectport # 转发请求接收的 ...
- android studio连接MYSQL8.0报错:java.long.unsupportedOperation处理方案
纠结了我大概一个星期了! 下载的别人的demo测试,因为还没学线程连接网络啥的 对方使用的版本是MYSQL5.1.14,我使用的8.0.18,同样都是阿里云服务器自建数据库. 由于是版本8.0,所以在 ...
- 富文本编辑器粘贴word内容
很多时候我们用一些管理系统的时候,发布新闻.公告等文字类信息时,希望能很快的将word里面的内容直接粘贴到富文本编辑器里面,然后发布出来.减少排版复杂的工作量. 下面是借用百度doc 来快速实现这个w ...
- python define function
>>> def square(x): ... 'calculates the square of the number x.' ... return x*x ... >> ...
- Density of Power Network(ZOJ 3708)
Problem The vast power system is the most complicated man-made system and the greatest engineering i ...
- xpath简介备查
xpath简介 xpath 使用路径表达式在xml和html中进行导航 xpath包含标准函数库 xpath是一个w3c的标准 xpath节点关系 父节点 子节点 同袍节点 先辈节点 后代节点 xpa ...
- scrapy框架之基础
一.安装scrapy 安装失败看博客>>>scrapy安装失败解决方案 pip install wheel pip install twisted pip install pywin ...
- Leetcode题目300.最长上升子序列(动态规划-中等)
题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度 ...