import random import datetime class GuessNumber: def __init__(self): self.history = [] self.best_score = None self.current_score = None def start_game(self): self.current_score = 0 target_number = random.randint(1, 100) print("猜数字游戏开始!") while True: guess = input("请输入一个1到100之间的整数:") self.current_score += 1 if not guess.isdigit(): print("输入的不是整数,请重新输入!") continue guess_number = int(guess) if guess_number < 1 or guess_number > 100: print("输入的数字不在1到100之间,请重新输入!") continue if guess_number == target_number: print("恭喜你,猜对了!") print("你一共猜了{}次".format(self.current_score)) self.history.append((datetime.datetime.now(), self.current_score)) if self.best_score is None or self.current_score < self.best_score: self.best_score = self.current_score print("你创造了新纪录!") return elif guess_number > target_number: print("猜大了,请继续猜!") else: print("猜小了,请继续猜!") def show_history(self): print("游戏历史记录:") for game in self.history: print("日期:{},成绩:{}".format(game[0], game[1])) def show_score(self): print("当前成绩:{}".format(self.current_score)) if self.best_score is not None: print("历史最好成绩:{}".format(self.best_score)) class Game: game = GuessNumber() while True: game.start_game() game.show_score() choice = input("是否开始新游戏?(输入 yes 或者 no)") if choice.lower() == "no": game.show_history() break
时间: 2024-02-15 16:27:12 浏览: 121
python中时间转换datetime和pd.to_datetime详析
这段代码是一个猜数字游戏,玩家需要猜出一个1到100之间的整数。代码中定义了一个GuessNumber类,用于实现游戏的逻辑。类中包含了游戏历史记录、最好成绩和当前成绩等属性,以及开始游戏、展示历史记录、展示当前成绩等方法。在Game类中,通过实例化GuessNumber类的对象来实现游戏的开始和结束,同时可以选择是否开始新游戏。
阅读全文