练习 30 else和if-Learn Python 3 The Hard Way

大家好呀~

上个练习我们学习了 if 语句,这节课我们继续学习跟 if 语句相关的 elif 和 else 的用法。

练习 30 Else 和 if

相信大家都应该认真做了上节课的附加练习,在进行这节课的内容之前,我们先来看下自己写的五个问题的答案跟老肖在书中给出的答案是否相同。

1. 你认为 if 对它下面的代码起什么作用?

if 语句在代码中创建了一个“分支”(branch),有点类似于在一本冒险书中,你选择了哪个答案,就翻到对应的一页,如果你选择了不同的答案,就会去到不同的地方。if 语句就是告诉脚本,如果这个布尔表达式是 True,那就运行它下面的代码,否则的话就跳过。

2. 为什么 if 下面的代码要缩进 4 个空格?

通过一行代码结尾的冒号告诉 Python 你在创建一个新的代码块,然后缩进四个空格告诉 Python 这个代码块中都有些什么。这就跟本书前半部分中你学的函数是一样的。

3. 如果没有缩进会发生什么?

如果没有缩进,你很可能收到一个错误提示。Python 一般会让你在一个带 的代码行下面缩进一些内容。

4. 你能从练习 27 里面把一些布尔表达式放进 if 语句吗?试试看。

试试吧,你可以的。你可以把它们写得很复杂,不过复杂的东西一般风格都很糟糕。

5. 如果你改变 people,cats 和 dogs 的初始值会发生什么?

因为你在比较数字,所以如果你改变了数字,不同的 if 语句将会得出不同的判断结果,那么下面某些代码块就有可能运行。回到练习中给这些变量一些不同的数值,然后看看你能否在脑中判断出来哪些代码块会运行。

比较一下自己的答案和老肖给出的答案,确保你真正解了这些问题。

然后我们进入这节课的练习,先输入如下代码然后运行:(同样注意 和缩进)。

ex30.py

你会看到

练习 30 结果

附加练习

试着猜猜 elif 和 else 的作用是什么。(elif 大概就是 else 和 if 的合体吧~)

改变 cars,people,和 trucks 的数值,然后追溯每一个 if 语句,看看什么会被打印出来。

试试一些更复杂的布尔表达式,比如 。

在每一行上面加上注释。

常见问题

如果多个 elif 块都是 True 会发生什么?Python 从顶部开始,然后运行第一个是 True 的代码块,也就是说,它只会运行第一个。

这节课同样不难,代码部分整体结构还是上个练习的结构,只不过稍微多了一些内容,但是也不难理解。

好了,今天就学这些吧~

好好学习|天天进步

公众号ID:xuexiier

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180311G09NZM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券