前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《笨办法学Python》 第35课手记

《笨办法学Python》 第35课手记

作者头像
Steve Wang
发布2018-02-05 16:26:45
5130
发布2018-02-05 16:26:45
举报
文章被收录于专栏:从流域到海域从流域到海域

《笨办法学Python》 第35课手记

本节课讲函数和分支的,实际上是一次综合练习,代码有点长,请先纠正代码中的错误使脚本能够运行。

原代码中使用三个空格来进行函数内部的缩进,但是我发现如果使用三个空格在缩进这个问题上会不断地报错,因此建议使用四个空格进行缩进。 代码如下:

代码语言:javascript
复制
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()

按照作者的操作思路进行游戏结果如下:

这里写图片描述
这里写图片描述

本节课涉及的知识

whlie true:这是一种获得无限循环的常用方法,因为判断表达式的值本身就是True,while循环将 无限进行下去。

认真阅读常见问题解答,并记住它们。

这节课的代码很长,介绍一下读代码的方法。

首先函数gold_room、bear_room、cthulhu_room(克鲁苏,一个作家陛下的恶魔)、start、dead是独立的,这些函数包含很多的分支,以供玩家选择,不同的分支将让游戏走向不同的结果。请先读懂这些函数。

最后一行触发函数start从而使游戏开始,从start函数开始,根据用户输入的答案引导游戏向前推进,游戏的下一个进程实质上是在start函数中调用其余的函数。

在心里给出你的答案,按照代码的含义向前推进,画出游戏的流程图。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年02月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《笨办法学Python》 第35课手记
  • 本节课涉及的知识
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档