首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

练习 31 做决定 Learn Python 3 The Hard Way

大家好呀,上节课我们学了 if 、elif 以及 else 的用法。说实话,上个练习的附加练习 1 和常见问题我都没有仔细思考,是做完今天这个练习我才完全明白了 elif 的作用。如果你也没有搞明白,不用担心,学完今天这个练习你就懂啦~

今天我们学习用 if elif 和 else 来做一个冒险小游戏(奸笑

练习 31 做决定

在这本书的前半部分,我们主要学习了调用函数、打印东西,但是这些基本都是直线运行下来的。脚本从上面开始运行,然后到底部结束,中间不会有分叉需要我们做决定的情况。现在学习了 if,else,以及 elif,我们就可以用脚本来做决定了。

在上个脚本中我们写出了一个简单的问问题的测试集。这个练习我们会问用户一些问题,并基于用户的回答做决定。先写下这个脚本,然后多玩几遍,把它弄明白。

ex31.py

注:原教材中(pdf 文件)第 14-20 行的缩进是错误的,大家按照我更新的版本来,否则会报错,不信你们试试。

因为这里我们在 if 语句里面又放了一个 if 语句,所以要通过缩进让 Python 知道它们的关系。

这种方法在创建“嵌套”(nested)决定的时候非常有用,每一个分支指向另一个选择。

把每种选择都试试,确保你理解了在 if 语句中嵌套 if 语句的理念。你也可以通过做附加练习来深化理解。

你会看到

以下是老肖的结果,你如果做了不同的选择,结果会不一样。

练习 31 结果

附加练习

给这个游戏加一些新内容,同时改变用户可以做的决定。尽可能地扩展这个游戏,直到它变得看起来很搞笑。

写一个属于自己的新游戏,看你能不能把它写得好玩一点儿。

常见问题

我能用一系列的 if 语句来代替 elif 吗?在某些情况下可以,但是取决于每个 if/else 是怎么写的。如果只用 if-else 的话,Python 会检查每一个 if-else 组合,而不是像 if-elif-else 那样只会检查第一个是 false 的。你可以多试几次,感受一下区别。(想想上节课的常见问题,Python 判断出来第一个是

True 的 elif 块就会停下来)

我如何表示一个数字的区间?有两种方式:一种是 0

如果我想在 if-elif-else 代码块中放更多的选择怎么办?为每种可能的选择增加更多的 elif 块。

好了,今天就学到这里啦~有对象的童鞋其实可以写个小游戏给对方玩一玩(真·面向对象的编程,哈哈)当然,对象是程序员/媛的就不要自取其辱了-.-

好好学习|天天进步

公众号ID:xuexiier

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券