加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

笨办法学Python 习题 31: 作出决定

发布时间:2020-12-17 17:05:49 所属栏目:Python 来源:网络整理
导读:这本书的上半部分你打印了一些东西,而且调用了函数,不过一切都是直线式进行的。你的脚本从最上面一行开始,一路运行到结束,但其中并没有决定程序流向的分支点。现在你已经学了if,else,和elif,你就可以开始创建包含条件判断的脚本了。 上一个脚本中你写了

这本书的上半部分你打印了一些东西,而且调用了函数,不过一切都是直线式进行的。你的脚本从最上面一行开始,一路运行到结束,但其中并没有决定程序流向的分支点。现在你已经学了if,else,和elif,你就可以开始创建包含条件判断的脚本了。


上一个脚本中你写了一系列的简单提问测试。这节的脚本中,你将需要向用户提问,依据用户的答案来做出决定。把脚本写下来,多多鼓捣一阵子,看看它的工作原理是什么。

#?-*-?coding:utf-8?-*-
print?"You?enter?a?dark?room?with?two?doors.?Do?you?go?through?door?#1?or?door?#2?"

door?=?raw_input(">?")

if?door?==?"1":
????print?"There's?a?giant?bear?here?eating?a?cheese?cake.?What?do?you?do?"
????print?"1.?Take?the?cake."
????print?"2.?Scream?at?the?bear."

????bear?=?raw_input(">?")

????if?bear?==?'1':
????????print?"The?bear?eats?your?face?off.?Good?job!"
????elif?bear?==?"2":
????????print?"The?bear?eats?your?legs?off.?Good?job!"
????else:
????????print?"Well,?doing?%s?is?probably?better.?Bear?runs?away."?%?bear
elif?door?==?'2':
????print?"You?stare?into?the?endless?abyss?at?Cthulhu's?retina."
????print?"1.?Blueberries."
????print?"2.?Yellow?jacket?clothespins."
????print?"3.?Understanding?revolvers?yelling?melodies."
????insanity?=?range(">?")
????if?insanity?==?'1'?or?insanity?==?'2':
????????print?"Your?body?survives?powered?by?a?mind?of?jello.?Good?job!"
????else:
????????print?"The?insanity?rots?your?eyes?into?a?pool?of?muck.?Good?job!?数字:%s"?%?insanity
else:
????print?"You?stumble?around?and?fall?on?a?knife?and?die.?Good?job!?数字:%s"?%?door

这里的重点是你可以在“if语句”内部再放一个“if语句”。这是一个很强大的功能,可以用来创建嵌套(nested),其中的一个分支将引向另一个分支的子分支。


你需要理解if语句包含if语句的概念。做一下附加题,确保自己真正理解了它们。

结果:

You?enter?a?dark?room?with?two?doors.?Do?you?go?through?door?#1?or?door?#2?
>?1
There's?a?giant?bear?here?eating?a?cheese?cake.?What?do?you?do?
1.?Take?the?cake.
2.?Scream?at?the?bear.
>?2
The?bear?eats?your?legs?off.?Good?job!

加分习题

1、为游戏添加新的部分,改变玩家做决定的位置。尽自己的能力扩展这个游戏,不过别把游戏弄得太怪异了。

2、写一个全新的游戏,你可能不喜欢我提供的这个,那么自己写一个玩玩。这是你的电脑,你可以用它做任何自己想做的事情。

常见问题回答

可以用多个 if/else 来取代 elif 吗?

某些情况下可以,但是这个也依赖于每一个if/else是怎么写的 。这也意味着, Python会检查每个if-else的组合,而不是只检查if-elif-else组合中的第一个为假的分支,尝试用两种方式多编写一些代码,以找出他们的不同点。

怎样判断一个数字处于某个值域中?

有两种方法: 一种经典的方式是使用0 < x < 10 或者 1 <= x < 10,另一中方式是使用x in range(1,10)。

怎样用 if/elif/else 区块实现四个以上的条件判断?

为每一个可能的选择增加一个elif 代码块。


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读