Python学习-2015-11-25

    今天学了第35题,原代码全是英文的提示,所以我全都改成了中文,这个练习主要是锻炼逻辑关系,一开始可能看不懂,但从头到尾的看一遍之后就会明白了。

    我改过的代码如下:

# coding= utf-8

from sys import exit

def gold_room():
    print"这个房间里充满了黄金,你准备带走多少(请输入数字)?"

    next=raw_input(">")
    if"0"in next or "1" in next:
        how_much=int(next)
    else:
        print"请输入数字."
        gold_room()

    if how_much<50:
        print"你一点都不贪,你赢了!"
        exit(0)
    else:
        dead("你也太贪了吧!")

def bear_room():
    print"这里有一直熊."
    print"这只熊正在吃蜂蜜."
    print"这只熊在前面的某一个门里面."
    print"你将要怎么躲开这个熊(给点蜂蜜;嘲笑熊)?"
    bear_moved=False

    while True:
        next=raw_input(">")

        if next=="给点蜂蜜":
            dead("这只熊看着你,扑过来吃掉了你的脸.")
        elif next=="嘲笑熊"and not bear_moved:
            print"熊离开了门口,你可以过去了(开门 or 继续嘲笑熊)."
            bear_moved=True
        elif next=="继续嘲笑熊" and bear_moved:
            dead("这只熊很生气,吃掉了你的腿.")
        elif next=="开门" and bear_moved:
            gold_room()
        else:
            print"听不懂你在说啥。"

def cthulu_room():
    print"在这里你看到一直强大的恶魔."
    print"只要它盯着你,你就会发疯."
    print"你是要逃跑,还是让它吃掉你的脑袋?(逃跑 or 吃掉脑袋)"

    next=raw_input(">")

    if"逃跑"in next:
        start()
    elif"吃掉脑袋"in next:
        dead("呃,那尝起来不错!")
    else:
        cthulu_room()

def re():
    print"是否重新开始?重新开始请输入‘1’,退出请输入‘2’。"
    next=raw_input(">")

    if "1" in next:
        start()
    elif"2"in next:
        exit(0)
    else:
        print"输入有误,请重新输入~"
        re()

def dead(why):
    print why
    print re()


def start():
    print"你在一件昏暗的屋子里."
    print"在你的左右各又一扇门."
    print"你要走那一边?(左边 or 右边)"

    next=raw_input(">")

    if next=="左边":
        bear_room()
    elif next=="右边":
        cthulu_room()
    else:
        dead("你会困在这个房子里直到饿死!")


start()

    ps:原文中每次挑战失败都会直接退出,我加入了一个re()变量,可以选择重新开始或者退出。

# python中一定要注意格式啊注意格式啊注意格式啊!一个标点错了就完了~

你可能感兴趣的:(python,入门,python,学习笔记,python新手)