如何学python-第六课 流程控制-IF,ELSE,条件语句

在上一篇文章里,我们介绍了流程控制的概念,并介绍了布尔类型。今天,我们会把上节课学到的东西与 if、else结合起来使用。

条件判断语句

条件判断语句会根据语句内容返回True或者False.我们上篇文章里使用的某些语句就是条件判断语句。如果接下来的内容让你感到困惑,我建议你去复习一下上一篇文章。老规矩,我们还是先看看代码:

这里这些语句就叫做‘条件判断语句’。

If和Else

If和else可以帮助我们控制程序的走向。这让我们可以在不同的情况(条件)下执行不同的代码。下面我们尝试一下,看看能否在用户输入不同的内容时,获取不同的输出。首先,我们来获取用户输入:

现在,我们向用户询问”你喜欢用什么搜索引擎?”,然后输入了google.

程序接收到了输入,并做了以下处理:

如我们所见,if语句后面接了一个条件判断语句 UserInput.lower() == “null-byte”,然后跟了一个冒号”:” ,然后进行了换行(回车换行),之后是一个由tab键打出来的空格和print。这部分语句就是在条件判断结果为True时执行的部分。注意,python的语法规则严重依赖于缩进(你姑且可以把缩进理解为程序前面的那些空白,但是缩进的概念远非于此),所以,一定一定记得打上一个tab空格。

因为我们输入了google,所以被赋值为字符串”google”的变量UserInput 与 “google“是相等的,我们的程序便执行了判断为真时执行的语句。

If语句之后一般会跟一个else,用来判断我们的if没有覆盖到的其它情况。

如果我们没输入google,而输入了别的, 程序就会执行else分支后面的语句。我们来试试看。

看来if,else正如我们期待的一样运行。现在,我们的程序会根据输入的不同,产生不一样的输出。

用户的输入情况可能是多种多样的。如果我们判断完用户的输入是否为”google”之后,在判断一下用户是否输入了”baidu”,应该怎么做呢?python提供给我们了另一个关键字,elif。我们来看看:

先获取一下输入:

然后:

呵呵呵呵。成功的鄙视了一下自己,哈哈。

以上就是if/elif/else的运行方式~

小提示

为什么会有elif这种关键字呢?那是因为我们在每个if分支里只能有一个if和一个else,所以如果你需要判断好几次,你就需要很多elif语句。只要你有需要,写多少个elif都是可以的。是不是亦可赛艇?哈哈哈

练习

自己实现一下 if/elif/else,尝试着用上前几篇里介绍过的技术。如果可以的话在评论区里填上你写的代码~

原文发布于微信公众号 - 玄魂工作室(xuanhun521)

原文发表时间:2016-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏喔家ArchiSelf

全栈必备 Java基础

那一年,从北邮毕业,同一年,在大洋的彼岸诞生了一门对软件业将产生重大影响的编程语言,它就是——Java。1998年的时候,开始学习Java1.2,并在Java ...

1084
来自专栏Albert陈凯

Stack and Heap 堆和栈的区别include

在和计算机内存打交道时,我们一定会碰到堆和栈,这两个东西很容易搞混,那么现在就来梳理一下二者的关系。 栈(Stack)是用来静态分配内存的而堆是动态分配内存的,...

2738
来自专栏JavaEE

Java常用设计模式

工厂是干嘛的,就是用来生产的嘛,这里说的工厂也是用来生产的,它是用来生产对象的。也就是说,有些对象我们可以在工厂里面生产,需要用时直接从工厂里面拿出来即可,而不...

1641
来自专栏V站

如何提高PHP编程效率,提升程序编译质量(53条)

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串...

1645
来自专栏Java后端技术

通俗易懂详解Java代理及代码实战

代理模式是Java常用的设计模式之一,实现代理模式要求代理类和委托类(被代理的类)具有相同的方法(提供相同的服务),代理类对象自身并不实现真正的核心逻辑,而是...

1191
来自专栏从流域到海域

堆和栈的区别

堆(heap)和栈(stack) 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(...

2157
来自专栏PHP在线

PHP底层的运行机制与原理

PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。 PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实...

1.1K6
来自专栏微信终端开发团队的专栏

C# 内存管理机制及 WP 内存泄漏定位方法

C#内存管理机制及WP内存泄漏定位方法 一、C#的内存管理机制 1. 托管资源与非托管资源 什么是托管资源?托管资源通俗的理解就是,把资源交给.net去管理,这...

3977
来自专栏Python专栏

Python | 19个优雅的Python编程技巧

http://lovesoo.org/pythonic-python-programming.html

2923
来自专栏企鹅号快讯

PHP中被忽略的性能优化利器:生成器

如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP5.5.0才引入的功能,也...

38914

扫码关注云+社区

领取腾讯云代金券