笨方法学python 习题35

习题35
python:3.9

from sys import exit

def gold_room():
    print ("This room is full of gold. How much do you take?")
    
    next = input (">")
    if "0" in next or "1" in next :
        hou_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 = 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 insance.")
    print ("Do you flee for your life or eat your head?")
    
    next =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 =input (">")
    
    if next =="left":
        bear_room()
    elif next =="right":
        Cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")
        
start()
    

运行结果

PS C:\Users\78523\mybuff> python  ex35.py
You are in a dark room.
There is a door to your right and left.
Which one do you take ?
>left
There is a bear here.
The bear has a bunch of honey.
The fat bear is in front of another door.
How are you going to move the bear?
>taunt bear
The bear has moved from the door .You can go through it now.
>open door
This room is full of gold. How much do you take?
>asf
Man, learn to type a number. Good job!

加分习题
1.把这个游戏的地图画出来,把自己的路线也画出来。
画画水平不高就不花花了
2.改正你所有的错误,包括拼写错误。
3.为你不懂的函数写注解。记得文档注解该怎么写吗?
“#”,来注释
4.为游戏添加更多元素。通过怎样的方式可以简化并且扩展游戏的功能呢?
5.这个 gold_room游戏使用了奇怪的方式让你键入一个数字。这种方式会导致什么样的 bug?你可以用比检查0、1 更好的方式判断输入是否是数字吗?int()这个函数可以给你一些头绪。
先暂留问题,等有空解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 编写一个程序,可以让用户输入一个数字,并输出其平方值。 ```python num = int(input("请输入一个数字:")) squared = num ** 2 print("该数字的平方值为:", squared) ``` 2. 编写一个程序,可以让用户输入一个数字,并输出其平方根值。 ```python import math num = float(input("请输入一个数字:")) sqrt_num = math.sqrt(num) print("该数字的平方根值为:", sqrt_num) ``` 3. 编写一个程序,可以让用户输入一个数字,判断该数字是否为奇数。 ```python num = int(input("请输入一个数字:")) if num % 2 == 1: print("该数字是奇数") else: print("该数字是偶数") ``` 4. 编写一个程序,可以生成一个1-100之间的随机整数,并让用户猜测该数字,直到猜中为止。 ```python import random random_num = random.randint(1, 100) guess_num = 0 while guess_num != random_num: guess_num = int(input("请猜一个1-100之间的整数:")) if guess_num < random_num: print("猜小了,请重新猜") elif guess_num > random_num: print("猜大了,请重新猜") print("恭喜你猜中了!") ``` 5. 编写一个程序,可以让用户输入一个字符串,判断该字符串是否为回文字符串。 ```python string = input("请输入一个字符串:") if string == string[::-1]: print("该字符串是回文字符串") else: print("该字符串不是回文字符串") ``` 6. 编写一个程序,可以生成一个包含10个随机整数的列表,并输出其中的最大值和最小值。 ```python import random num_list = [random.randint(1, 100) for i in range(10)] print("生成的随机整数列表为:", num_list) print("其中最大值为:", max(num_list)) print("其中最小值为:", min(num_list)) ``` 7. 编写一个程序,可以生成一个包含10个随机整数的列表,并将其中的偶数和奇数分别存储到两个不同的列表中。 ```python import random num_list = [random.randint(1, 100) for i in range(10)] odd_list = [] even_list = [] for num in num_list: if num % 2 == 0: even_list.append(num) else: odd_list.append(num) print("生成的随机整数列表为:", num_list) print("其中偶数列表为:", even_list) print("其中奇数列表为:", odd_list) ``` 8. 编写一个程序,可以让用户输入一个字符串,并输出其中每个字符出现的次数。 ```python string = input("请输入一个字符串:") char_dict = {} for char in string: if char in char_dict: char_dict[char] += 1 else: char_dict[char] = 1 print("该字符串中每个字符出现的次数为:", char_dict) ``` 9. 编写一个程序,可以生成一个包含10个随机整数的列表,并将其中的重复元素去除。 ```python import random num_list = [random.randint(1, 10) for i in range(10)] new_list = list(set(num_list)) print("生成的随机整数列表为:", num_list) print("去重后的列表为:", new_list) ``` 10. 编写一个程序,可以生成一个包含10个随机整数的列表,并将其中的元素按照从小到大的顺序排序。 ```python import random num_list = [random.randint(1, 100) for i in range(10)] sorted_list = sorted(num_list) print("生成的随机整数列表为:", num_list) print("排序后的列表为:", sorted_list) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值