笨办法学python——习题35

from sys import exit


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

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

    if how_much < 50:
        print("Nice, you're 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 of another door.")
    print("How are you going to move the bear? ")
    bear_moved = False

    while True:
        choice = input(">")
        if choice == "take honey":
            dead("The bear looks at you then slaps your face off.")
        elif choice == "taunt bear" and not bear_moved:
            print("The bear has moved from the door.")
            print("You can go through it now.")
            bear_moved = True
        elif choice == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your leg off.")
        elif choice == "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? ")

    choice = input("> ")

    if "flee" in choice:
        start()
    elif "head" in choice:
        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? ")

    choice = input("> ")

    if choice == "left":
        bear_room()
    elif choice == "right":
        Cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")


start()

本题定义了好几个函数,然而运行时首先手动运行start函数,然后通过if分支调用其他函数,其他函数中的if分支得以被实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值