笨办法学Python3 习题35 分支和函数

发布时间 2023-10-16 22:20:29作者: 萹豆
XX.isdigit() 内置函数检验数据是否为数字类型
 if choice < '50':   # 50 需要加引号 ,不然报错
 
游戏内容:
用函数定义4个房间,分别是开始的房间1,房间1左边的熊房间2,房间1右边的恶魔房间3,以及熊旁边的金币房间4。
定义一个失败退出的函数。
开始房间1进去选择走左边还是右边,用if 语句判断,左边调用熊房间2,右边调用恶魔房间3,输入其他游戏失败。
左边进入熊房间2,输入引开熊方法,用while 和 if 循环语句 ,每当while True 时候 需要用户输入方法,循环if 代码块。
  • 如果拿蜂蜜 ,游戏失败。
  • 如果嘲讽熊,赋值 True ,再次循环while ,用户再次输入,这时如果再输入嘲讽熊,激怒熊,游戏失败,换做打开门,调用金币房间4,输入其他提示不理解,游戏失败。

右边进入恶魔房间3,提示输入逃命或者被吃脑袋,逃命调用开始房间1,输入脑袋直接游戏失败,其他再次调用回到恶魔房间3。

通关熊房间进入金币房间4,选择需要拿多少金币,检验输入是否为数字类型,真 的就再判断是否小于50,小于50通关,大于50失败;为假不是数字类型就失败。

 

 1 from sys import exit
 2 
 3 def gold_room():           # 定义金币房间函数 
 4     print("这个房间装满金子,你要多少钱?")
 5 
 6     choice = input("输入你需要拿走多少金子>")
 7 
 8     if choice.isdigit():    # XX.isdigit() 内置函数检验数据是否为数字类型
 9 
10         if choice < '50':   # 50 需要加引号 ,不然报错
11             print("很好,你不贪婪,你胜利了!")
12             exit(0)
13   
14         else:
15             dead("你这个贪婪的混蛋!")
16 
17     else:
18         dead("伙计学会打数字。")
19 
20 def bear_room():             # 定义熊房间函数,提示关键信息蜂蜜,门前熊,怎么移动
21     print("""
22     这里有一只熊。
23     这只熊有一束蜂蜜。
24     胖熊在另一扇门前。
25     你打算如何移动熊?
26     """)
27     bear_moved = False        # 先将不通过的假 赋值给变量
28 
29     while True:               # 用 while循环来回走if 语句
30         choice = input("怎么做?>")
31 
32         if "拿蜂蜜" in choice:
33             dead("熊看着你,然后扇了你一耳光。")
34 
35         elif choice =="嘲讽熊" and not bear_moved:
36             print("""
37     熊已经离开了门,
38     你现在可以通过了。
39             """)
40             bear_moved = True
41 
42         elif choice =="嘲讽熊" and bear_moved:
43             dead("熊被激怒了,还把你的腿咬掉。")
44 
45         elif choice =="开门" and bear_moved:
46             gold_room()
47 
48         else:
49             print("我不知道那是什么意思。")
50             dead("熊发现了你,没时间了。")
51 
52 def cthulhu_room():            # 定义函数克苏鲁房间
53     print('''
54     这里你看到了巨大邪恶的克苏鲁。
55     只要他盯着你,你就会发疯。
56     你是逃命还是吃掉你的脑袋?
57     ''')
58 
59     choice = input("输入选择>")
60 
61     if "逃命" in choice :
62         start()
63 
64     elif "脑袋" in choice:
65         dead("那真好吃。")
66 
67     else:
68         cthulhu_room()
69 
70 def dead(why):                   # 定义闯关失败提醒退出函数
71     print(why,"闯关失败,退出游戏。")
72     exit(0)
73 
74 def start():                     # 定义函数开始房间
75     print("""
76     你在一个黑暗的房间,
77     你的左右边各有一扇门,
78     你选择左边还是右边?
79     """)
80 
81     choice = input("输入选择>")
82 
83     if choice =="左边":
84         bear_room()
85 
86     elif choice =="右边":
87         cthulhu_room()
88 
89     else:
90         dead("你跌跌撞撞地在房间里撞来撞去。")
91 
92 start()                           # 调用开始房间的函数,开始游戏
93 
94  
PS C:\Users\Administrator\lpthw> python ex35.py

    你在一个黑暗的房间,
    你的左右边各有一扇门,
    你选择左边还是右边?

输入选择>左边

    这里有一只熊。
    这只熊有一束蜂蜜。
    胖熊在另一扇门前。
    你打算如何移动熊?

怎么做?>嘲讽熊

    熊已经离开了门,
    你现在可以通过了。

怎么做?>开门
这个房间装满金子,你要多少钱?
输入你需要拿走多少金子>49
很好,你不贪婪,你胜利了!