交互程序三

这个程序的核心内容就是def语句,if语句和while语句循环的重复使用。

参考: 习题—35

# coding: utf-8

def dead(why):                                                                         # 定义dead函数,exit()可用于退出循环
    print why, ‘YOU DEAD!‘                                                          #  exit(0) 表示正常退出,exit(1)表示发生了错误
    exit(0)

def start():
    print u">>>尊敬的客官,你的所在是红亭,曾经是当地第五座、也是唯一保存下来的\n\
    城门。始建于明天启元年。因通抵学宫,取增贤进士之意,故称进贤门。"
    print ">>>Choose: Turn east or western?"

next = raw_input("Turn: ")

if ‘east‘ in next:                                                                         
        tomb_of_goddness()                                                          # 跳到另一个地点
        
    elif ‘west‘ in next:
        tomb_of_general()
    else:
        dead(‘‘)

def tomb_of_goddness():
    print "-" * 80                                                                         # 重复打印"-"
    print u"山神: 来者何人,胆敢擅闯月容夫人圣地。"
    print u"山神: 还不速速退下。以免惊扰夫人安宁。"
    print ">>>Choose: ‘bow‘, ‘kneel‘, ‘flee‘, ‘taunt‘ or others?"
    MountainGod = True

while True:                                                                           # 创建一个无限循环,直到dead() 或 exit(0)为止
        next = raw_input(">> ")
        print "-" * 80
        
        if ‘bow‘ in next or ‘kneel‘ in next and MountainGod:             # 由于上面的MountainGod是True,所以该if语句可以执行
            print u"我: 请问阁下可是,山神大人?后生,有礼了。在下初到宝地,\n\
                   未曾了解本地习俗,还望山神周知。"
            print u"山神: 月容夫人托梦给我,说今日会有一位斯文的书生来拜谒。\n\
                   想必就是你啦!"
            MountainGod = False

print "Choose: ‘kneel‘, ‘flee‘, ‘taunt‘, or others."
                                                                                                                    # MountainGod已变为False,所以not MountainGod

elif ‘kneel‘ in next and not MountainGod:                                                     就是True,这样就确保了先执行的是上面的if语句。                                    
            print u"我: 后生谨奉上清香三支,祝告夫人圣灵。言不尽意,勿怪,勿怪!"     
            print u"我: 不瞒山神大人,后生也是误入山林,方知夫人之墓所在,初来乍到,\n\
            实对夫人之事不甚了解。"
            print u"山神: 月容夫人,是一位传奇的女子。她的事迹,在这片土地上广为\n\
            流传。我送你到一个地方,你就知道了。\n"
            ShuangXiZui()       
        elif ‘flee‘ in next:
            print u"我: 好一个凶巴巴的老头。三十六计,走为上。"
            start()
        elif ‘taunt‘ in next:
            print u"我: 好你个老头,说话这么粗鲁,吓唬谁啊?"
            monster_tower()    
        else:
            dead(‘‘)

def ShuangXiZui():
    print "-" * 80

print u"我: 咦,我怎地站在小舟上,眼前是双江汇合,气势磅礴啊。更有皓月当空,夜色如水。"
    print u"....远处的海浪渐渐袭来,伴随阵阵渔歌...."
    print u"渔歌: 不远千里随夫来,哪知有去却无来。世上岂有天理诉,宁叫好人不长在?\n\
    唉,哀哉月容兮,不得与归?皓皓榕江兮,一分为二。双溪明月兮,难分清浊!"
    print "Choose: ‘boating‘, ‘praying‘ or others."
    next = raw_input(">> ")

if ‘boat‘ in next:
        tomb_of_general()
    elif ‘pray‘ in next:
        temple()
    else:
        dead(‘‘)
def temple():
    print "-" * 80

print u"有一寺庙兮,曾为夫人建。夫人名讳兮,曰扬州才女。悠悠侣云兮,依山傍水。"
    print u"钟声绕梁兮,情与铁坚。不绝于耳兮,缘从响续。"
    print u"我: 看来这是专为月容夫人建的寺庙啊,还有冯太爷写的钟铭。"
    exit(0)

def monster_tower():
    print "-" * 80

print u"....宝塔玲珑,暗含乾坤,风起云涌,妖魔为患。...."
    print u"我: 妈呀,不该乱说话啊,镇魔塔,全都是妖怪啊。"
    print "Choose: ‘flee‘, ‘pray‘ or others."
    next = raw_input(">> ")

if ‘flee‘ and ‘pray‘in next:
        start()
    elif ‘flee‘ or ‘pray‘ in next:
        dead(‘‘)
    else:
        moster_tower()
        
def tomb_of_general():
    print "-" * 80

print u"....好一派鸟语花香,秀色可餐的风景,西湖泛舟,亭台楼阁!...."
    print u"....一行来到,宋抗元将军马发之墓...."
    print "Choose: ‘clean‘, ‘kneel‘, go‘ or others."
    general_moved = True
    
    while True:
        next = raw_input(">> ")
        print "-" * 80

if ‘clean‘ in next or ‘kneel‘ in next and general_moved:
            print u"....只见芳草丛生,墓碑荒废...."
            print u"我: 看来潮州多人杰啊,前有月容夫人,后有马将军。"
            print u"我: 为民族英雄扫墓,是吾辈之幸啊!"
            general_moved = False

print "Choose: ‘kneel‘, ‘go‘ or others."
        elif ‘kneel‘ in next and not general_moved:
            print u"路人: 小伙子,看来你也是个忠义之人,昔有诗人丘逢甲曾为将军赋诗:"
            print u"凭栏望,韩夫子祠,如此江山,争让前贤留姓氏。"
            print u"把酒吊,马将军墓,奈何天地,竟将残局付英雄。"
            print u"我: 想必...老人家可否为晚辈讲一讲马将军的英勇事迹?"
            print "....Hit Enter to continue or Ctrl+C to stop!..."
            raw_input(">> ")
            
            print u"马发,潮州海阳人(今潮安县),宋末潮州摧锋营副将,临危之际挺身而出,以孤城坚"
            print u"拒元兵。终因叛徒出卖,潮州城破,复退守金山子城,浴血战至最后一人,举家殉国。"
            print u"潮州是宋朝最后一座沦陷的州城,城破之后元兵屠城,是潮州历史最惨重的记忆之一。"
            exit(0)
        elif ‘go‘ in next:
            start()
        else:
            dead(‘‘)
    
start()

时间: 2024-11-07 10:59:48

交互程序三的相关文章

Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序

第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print("Hello World!") >>>exit() 编辑文件helloworld.py 执行:python helloworld.py Linux:./helloworld.py   声明解释器:#!/usr/bin/env python  在环境变量中找python Chmod 755 hel

Python学习笔记一:简单的交互程序

入门第一课:简单的用户交互程序 1 name = input("Name: ") #Python3.X中的input取代了Python2.X中的input_raw 2 age = int(input("Age: )) #此处若不加int语句,输入时计算机会识别为字符串,为了确保计算机识别为数字,用户也可以输入数字意外的字符.int = integer意为整数 3 job = input("Job: ") 4 salary = input("Sal

程序日志--ios“文字长度--button与label的交互”程序

我的学习日志003:"文字长度--button与label的交互"程序 交代一下我做程序的工具:mac os x虚拟机10.9.3         Xcode6         百度^-^         参考书iPhone30天精通(本书已经过时,但是还有一定的参考价值,可以引导正确的学习方向). 没什么新的知识点,直接放步骤和代码. XCode新建SingleView程序,viewControllor.h代码如下: #import <UIKit/UIKit.h> #im

Android中WebView的JavaScript代码和本地代码交互的三种方式

一.Android中WebView的漏洞分析 最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视,关于这个漏洞,这里就不多做解释了,可能有的同学早就了解了,本来想写一篇文章详细介绍一下,但是网上的知识太多了,而且都很详细,就没弄了,这里大致简单明了的说几句: 第一.漏洞产生的原因 这个漏洞导致的原因主要是因为Android中WebView中的JS访问本地方法的方式存在缺陷,我们做过交互的都知

交互程序的执行

计算机中我们用鼠标和键盘来操作程序,这个过程是怎么样的呢? 如何让操作系统接受用户指令,我们的操作系统就提供了一个特殊的应用程序,shell(壳).他是操作系统的外壳,是能都实现接受用户指令,理解用户命令,并且将其传给内核,由内核来指挥着某个应用程序的启动.shell提供了一个界面,将用户的行为翻译成计算机可以理解的命令. 敲下键盘,这个信息首先到了CPU,CPU去通知内核处理,内核就会知道这个键盘敲的是哪个进程,然后就开始走shell. 由于很多应用程序都有相同的功能,比如word有打印功能,

Python的用户交互程序及格式化输出

1.  用户输入 在Python 3 中,用户输入用input()函数即可实现用户交互程序. 例如,我们根据程序提示输入用户名和密码,并且打印输入的信息. 2. 字符串格式化输出 例如,我们根据程序提示输入姓名,工作,薪资等信息,然后实现多种格式化输出. (1)用 加好"+"实现格式化输出. 代码如下: 1 name = input("name:") 2 job = input("job:") 3 salary = input("sal

用户交互程序,格式化输出

用户交互程序 name = input("name:") age = int(input("age:"))#intege整数 salary = float(input("salary:"))#浮点型 格式化输出: %s   %d    %f name = input("name:") age = int(input("age:"))#intege整数 salary = float(input("s

学习 Python 第二课:用户交互程序

Author:uljfangbr/>E-mail:[email protected]Mentor:Liu YouyuanTime:2018-3-25 要求:1.用户输入相关信息2.打印出如下格式: ----------INFO: NAME ----------NAME:AGE:JOB:SALARY: #! usr/bin/env python #Author:uljfang #E-mail:[email protected] #Mentor:Liu Youyuan #Time:2018-3-25

python简介、第一个python程序、变量、字符编码、用户交互程序、if...else、while、for

也愿大家永葆初心-- 已识乾坤大,犹怜草木青. 一.python简介 首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得"翻译"成CPU可以执行的机器指令.而不同的编程语言,干同一个活,编写的代码量,差距也很大. 比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行. 二.第一个pyth