欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

笨办法学python加分习题35

程序员文章站 2022-07-01 15:15:21
...

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/



运行截图:


笨办法学python加分习题35


扩展:


笨办法学python加分习题35