Python 猜谜游戏 1-100

问题描述 投票:0回答:1

第 1 部分:基本游戏 – 最高 75 分 您的解决方案应正确完成以下所有任务:

  1. 向用户显示一条用户友好的消息,解释规则和预期内容
  2. 创建一个随机数让用户猜测并反复询问用户直到正确 已输入号码。
  3. 跟踪用户做出的猜测 • 您的程序应该针对错误的猜测向用户提供有用的反馈 • 当用户猜对时,您的程序应该: ▪ 通知用户正确的猜测 ▪ 显示猜测次数 ▪ 在用户友好的消息中显示他们之前的所有猜测(不要简单地打印 原始列表变量本身) ▪ 询问用户是否想再玩一次,如果愿意则重新开始游戏 用户的愿望。提示:确保重置玩游戏所需的变量。
  4. 提供用户友好的结束消息。 您可以选择您喜欢的任何数字范围,只要您使用适当的 随机模块功能。请记住,范围应该有意义且有趣且具有挑战性。 猜测 1-5 或 1-10 之间的事情并不有趣。无论您选择什么范围,该程序 应该选择,而不是用户。不要询问用户他们想要什么范围。 正确完成这一部分将为您赢得该项目 100 分中的 75 分。 第 2 部分:最佳分数 – 最高 15 分 你的游戏还应该实现一个“最佳得分”系统来跟踪用户的最佳成绩 所有玩过的游戏中的(最低)猜测。这应该是一个独立于数量的变量 猜测用户需要正确猜测数字。这部分分为两部分:
  5. 简单最佳猜测(满分 15 分,最多可获得 5 分) • 最佳猜测将在第一场比赛结束时确定,并在每场比赛后进行检查 随后的比赛。 • 如果程序结束并重新启动,该变量将被重置。
  6. 基于文件的最佳猜测(值得剩下的 10 分) • 程序启动时,从文件(如果可用)加载最佳猜测变量。 • 如果文件不可用,则应显示一条消息,并且您的程序应 仍然可以在没有文件的情况下继续正确运行,仅使用变量。 • 在每场比赛结束时,当检查了最佳猜测时,您的程序应该保存 新的最佳猜测(如果用户实现了)。 • 如果该文件以前不存在,则程序应创建它。 • 使用的文件名应存储在命名常量中 正确完成这一部分将为您在该项目中多赢得 15 分。

我正在开始Python,请尽可能简化。

随机导入

定义主函数(): BEST_SCORE_FILE = 'best_score.txt' # 存储最佳分数的文件名 最佳得分 = 加载最佳得分(BEST_SCORE_FILE) 最大尝试次数 = 100 尝试 = 0

while attempts < max_attempts:
    print("Welcome to the Guessing Game!\n")
    print("I have picked a random number between 1 and 100.                 Try to guess it!")
    
    target_number = random.randint(1, 100)
    guesses = []
    while attempts < max_attempts:
        guess = int(input("\nEnter your guess: "))
        guesses.append(guess)
        
        if guess < target_number:
            print("\nToo low, try again!")
            print("You previously guessed:", ' ,                                  'list(guesses.append(guess))
        elif guess > target_number:
            print("\nToo high, try again!")
            print("You previously guessed:", ' ,                                       'list(guesses.append(guess))
        else:
            print(f"\nCongratulations! You guessed the number                                                                       in {len(guesses)} guesses.")
            print("\nYou previously guessed:", ' ,                                                                'list(guesses.append(str, guess))
            break

    if len(guesses) < best_score:
        best_score = len(guesses)
        save_best_score(BEST_SCORE_FILE, best_score)
        print("You've set a new best score!")

    else:
        len(guesses) > best_score
        print(f"Good try! But the best score is still                                        {best_score}.")
   

    if input("\nWould you like to play again? (yes/no): ") !=                                 'yes':
        print("Thanks for playing! See you next time.")
        break

def load_best_score(文件名): 尝试: 以 open(filename, 'r') 作为文件: 返回 int(file.read()) 除了文件未找到错误: print("未找到最佳分数文件,重新开始。") 返回浮点数('inf')

def save_best_score(文件名, 分数): 以 open(filename, 'w') 作为文件: file.write(str(分数))

if name == "main":

python
1个回答
0
投票

这是一个你想做的猜数字游戏..

现在,我已经写了一些规则,并非全部,请根据需要在代码中添加其他必需的

print

import random

BEST_GUESS_FILENAME = "best_guess.txt"

print("Welcome to the Number Guessing Game!")
print("I have picked a random number between 1 and 100. Your task is to guess it.")
print("After each guess, I will tell you if you're too high or too low. Let's play!\n")

best_guess = float('inf')

while True:
    random_number = random.randint(1, 100)
    guesses = []
    while True:
        guess = int(input("Guess the number: "))
        guesses.append(guess)
        if guess < random_number:
            print("Too low, try again.")
        elif guess > random_number:
            print("Too high, try again.")
        else:
            print("Congratulations! You've guessed the number "+random_number+"!")
            print("It took you "+len(guesses)+"guesses.")
            print("Your guesses:", guesses)
   
            best_guess = min(best_guess, len(guesses))
    best_guess = min(best_guess, current_best_guess)
    if not input("Do you want to play again? (yes/no): ").lower().startswith('y'):
        print("Thanks for playing!")
        break

try:
    with open(BEST_GUESS_FILENAME, 'w') as file:
        file.write(str(best_guess))
        print("Best guess saved to file.")
except Exception as e:
    print("Failed to save best guess to file:", e)

不是说,如果文件不存在,则会打印错误,如果您想更改它,只需将最后一条语句

print("Failed to save best guess to file:", e)
更改为您想要的任何内容即可。

请随时发表评论以获取更多说明。 :)

© www.soinside.com 2019 - 2024. All rights reserved.