2、竞猜年龄,随机生成一个 1-100的年龄,让用户猜测,提示用户 每次猜测的大了还是小了,直到用户猜对为止,并询问用户是否继续 进行下一局猜测。需要记录以下信息:用户玩游戏的局数、最少轮数(最好成绩),在用户结束游戏时显示。
时间: 2024-03-13 07:42:21 浏览: 134
测试年龄的小游戏
4星 · 用户满意度95%
好的,下面是竞猜年龄游戏的代码实现:
```python
import random
class AgeGame:
def __init__(self):
self.min_turns = float('inf')
self.total_turns = 0
self.games_played = 0
def play(self):
age = random.randint(1, 100)
turns = 0
while True:
guess = int(input("请猜猜我的年龄(1-100):"))
turns += 1
if guess == age:
print(f"恭喜你猜对了!我的年龄是{age},你用了{turns}轮猜中。")
self.total_turns += turns
self.games_played += 1
if turns < self.min_turns:
self.min_turns = turns
break
elif guess < age:
print("你猜的有点小,再试试吧!")
else:
print("你猜的有点大,再试试吧!")
choice = input("是否继续游戏?(y/n)")
if choice == 'y':
self.play()
else:
print(f"你一共玩了{self.games_played}局游戏,最少轮数为{self.min_turns}。")
print(f"平均每局游戏用了{self.total_turns/self.games_played:.2f}轮猜中。")
# 使用示例
if __name__ == '__main__':
game = AgeGame()
game.play()
```
在上面的代码中,我们定义了一个`AgeGame`类,它有三个属性:`min_turns`、`total_turns`和`games_played`,分别表示玩家的最少轮数、总共猜了多少轮和玩了多少局游戏。`play`方法用于玩一局游戏,它会随机生成一个年龄并让玩家猜测,直到猜中为止。在猜测的过程中,会提示玩家每次猜测的大小,并记录猜测的轮数。最后会询问玩家是否继续游戏,如果选择是,则再次调用`play`方法。如果选择否,则输出玩家的游戏统计信息。
在使用示例中,我们创建了一个`AgeGame`对象来玩游戏。调用`play`方法开始游戏。每次游戏结束后,会询问玩家是否继续游戏,直到玩家选择退出为止。
阅读全文