笨办法学python加分习题35

python版本:3      若有错误,敬请指出 模块名称:测试.py


#加分习题35
from sys import exit
def gold_room():
    """房间gold_room的选项"""
    print("This room is full of gold. How much do you take")
    next = input(">")
    if "0" in next or "1" in next:#next.isdigit():
        how_much = int(next)
    else:
        dead("Man,learn to type a number.")
    if how_much < 50:
        print("Nice,you're not greedy,you win!")
        exit(0)
    else:
        dead("You greedy bastard!")

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

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

def cthulhu_room():
    """房间cthulhu_room的选项"""
    print("Here you see the grea 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 = 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 = input(">")

    if next == "left":
        bear_room()
    elif next == "right":
        cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")
start()
#1略
#2略
#3如上
#4
#def bear_room()这块开始没看懂,后参考https://www.douban.com/note/640520760/
#注意开始运行时bear_moved = False,所以not bear_moved就是True
#如果你输入taunt bear,会执行#1块代码,结果打印消息,并bear_moved = True
#接下来如果再次输入taunt bear(结束)或者open door(打开另一个房间)
#5
#进入gold_room,但是这个函数只能检测1和0,根据后面条件how_much<50,可以修改为next.isdigit():
#扩展知识见截图:扩展
#或者参考https://www.douban.com/note/640520760/



运行截图:




扩展:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值