关于笨办法学python中的习题35的笔记

来源:互联网 发布:matlab求解矩阵方程组 编辑:程序博客网 时间:2024/05/18 00:49
#-*- coding:utf-8-*-
from sys import exit

def gold_room():#定义函数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:#判断0或者1在next为真时:
        how_much = int(next)
    else :#判断0或者1在next为假时:
        dead("Man learn to type a number.")#调用函数dead

    if how_much < 50 :#判断howmuch小于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 = raw_input("> ")

        if next == "take honey":#判断next内容
            dead("The bear looks at you then slaps your face off.")#调用函数dead
        elif next == "taunt bear" and not bear_moved:
            
            print "The bear has move from the door.You can go through it now.",bear_moved
            bear_moved = True#把bear_moved重新赋值为true
        elif next == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your legs off.")#调用函数dead
        elif next == "open door" and bear_moved:
            gold_room()
        else:
            print "I got no idea what that means."
        print "This is good",bear_moved

def cthulhu_room():
    print "Here you see the great evil Cthulhu.."
    print "He,it ,whatever stares at you and you 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 righ and left."
    print "Whice 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()

函数bear_room()中的while循环,最初定义的时候,bear_moved的值是False,not bear_moved就是bear_moved的反义,所以它的值是True,所以当你输入next的值是taunt bear时,elif next == "taunt bear" and not bear_moved就是True and True,它就会执行print "The bear has moved from the door. You can go through it now."
bear_moved = True,此时bear_moved的值就重新赋值为True,继续重复while循环

原创粉丝点击