艰难地学习Python练习35:无法理解它是如何连接的

时间:2013-12-05 15:08:35

标签: python

我理解不同的块做了什么,但我无法理解它们是如何连接的,或者是什么告诉Python从哪里开始。任何人都可以澄清吗?谢谢!

from sys import exit

def gold_room():
    print "This room is full of gold.  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're 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 of 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 your 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 == "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():
    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()

2 个答案:

答案 0 :(得分:4)

当你开车时,你有一辆车,但它并没有开走。定义函数时,它会创建一个新函数,但不会执行它。

所有这些“def”语句只是为你的空间添加了新的动词。只有当一个人被召唤(start())时才开始发生事情。

答案 1 :(得分:2)

Python评估文件。函数使用def定义。

然后它到达文件末尾的表达式start()。这意味着“调用start函数”。

start函数然后调用其他函数,例如bear_room()