设为首页 收藏本站
查看: 1324|回复: 0

[经验分享] Learn Python The Hard Way学习(35)

[复制链接]

尚未签到

发表于 2017-5-6 12:16:30 | 显示全部楼层 |阅读模式
前面我们已经学习了if,函数,list等,现在我们来转变思路,看看你能理解下面的代码吗?
from sys import exit

def gold_room():
print "This room is full of fold. How much do you take?"

next = raw_input("> ")
if "0" in next or "1" in next:
how_much  = int(next)
else:
dead("Man, learn to type a number.")

if how_much < 50:
print "Nice, you are not greedy, you win!"
exit(0)
else:
dead("you greedy bastard!")

def bear_room():
print "There is a bear here."
print "The bear has a bunch of honey."
print "The fat bear is in front if another door."
print "How are you going to move the bear?"
bear_moved = False

while True:
next = raw_input("> ")
if next == "take honey":
dead("The bear looks at you then slaps our face off.")
elif next == "taunt bear" and not bear_moved:
print "The bear has moved from the door. you can go through it now."
bear_moved = True
elif next == "open door" and bear_moved:
gold_room()
else:
print "I got no idea what that means."

def cthulhu_room():
print "Here you see the great evil Cthulhu."
print "He, it, whatever stares at you and you go insane."
print "Do you flee for your life or eat your head?"
next = raw_input("> ")
if "flee" in next:
start()
elif "head" in next:
dead("Well that was tasty!")
else:
cthulhu_room()

def dead(why):
print why, "Good job!"
exit(0)

def start():
print "You are in a dark room."
print "There is a door to your right and left."
print "Which one do you take?"

next = raw_input("> ")
if next == "left":
bear_room()
elif next == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")

start()






运行结果

root@he-desktop:~/mystuff# python ex35.py

You are in a dark room.

There is a door to your right and left.

Which one do you take?

> right

Here you see the great evil Cthulhu.

He, it, whatever stares at you and you go insane.

Do you flee for your life or eat your head?

> ss

Here you see the great evil Cthulhu.

He, it, whatever stares at you and you go insane.

Do you flee for your life or eat your head?

> flee

You are in a dark room.

There is a door to your right and left.

Which one do you take?

> left

There is a bear here.

The bear has a bunch of honey.

The fat bear is in front if another door.

How are you going to move the bear?

> taunt bear

The bear has moved from the door. you can go through it now.

> taunt bear

I got no idea what that means.

> open door

This room is full of fold. How much do you take?

> 4

Man, learn to type a number. Good job!

root@he-desktop:~/mystuff# python ex35.py

You are in a dark room.

There is a door to your right and left.

Which one do you take?

> left

There is a bear here.

The bear has a bunch of honey.

The fat bear is in front if another door.

How are you going to move the bear?

> taunt bear

The bear has moved from the door. you can go through it now.

> open door

This room is full of fold. How much do you take?

> 1

Nice, you are not greedy, you win!






加分练习

1. 画一个游戏地图,看看你玩的流程。




2. 修改你的错误,包括拼写错误。




3. 为函数写评论,还记得doc文档吗?

在函数里面第一行注释,包含在"""中。




4. 扩展你的游戏,你能简洁的扩展它吗?




5. 在gold_room中有一个很不好的方法去判断你输入的是不是数字,你能有更好的方法改进吗?参考int()方法。

if nexe.isdigit():

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373800-1-1.html 上篇帖子: python htmllib.HTMLParser处理A标签获取链接和描述 下篇帖子: python 文件的读取、创建、追加、删除、清空
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表