鱼C论坛

 找回密码
 立即注册
查看: 1752|回复: 2

[已解决]求怎么将这个猜字游戏改的高级一点

[复制链接]
发表于 2023-4-9 17:59:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random

print('欢迎来到猜字游戏!')
rumber = random.randint(1,100)
guess = None
count = 0

while guess != number:
    count += 1
    guess = int(input('请猜一个1到100之间的整数:')

    if guess > number:
        print('你猜的数字太大了,请尝试一个更小的数字。')
    elif guess < number:
        print('你猜的数字太小了,请尝试一个更大的数字。')
    else:
        print(f'恭喜你,你在第{count}次猜对了')
最佳答案
2023-4-9 18:01:58
你可以考虑以下方法来改进这个猜字游戏,使其更高级:

  • 增加游戏难度设置
  • 限制猜测次数
  • 提供数字范围提示
  • 优化代码结构和可读性


下面是改进后的代码:
import random

def get_difficulty():
    print("请选择游戏难度:")
    print("1. 简单 (1-100)")
    print("2. 中等 (1-500)")
    print("3. 困难 (1-1000)")

    difficulty = int(input("输入1, 2, 或 3:"))
    if difficulty == 1:
        return 100
    elif difficulty == 2:
        return 500
    else:
        return 1000

def get_max_attempts(range_size):
    if range_size == 100:
        return 7
    elif range_size == 500:
        return 10
    else:
        return 14

def main():
    print('欢迎来到猜字游戏!')
    range_size = get_difficulty()
    max_attempts = get_max_attempts(range_size)
    number = random.randint(1, range_size)
    guess = None
    count = 0

    while guess != number and count < max_attempts:
        count += 1
        guess = int(input(f'请猜一个1到{range_size}之间的整数:'))

        if guess > number:
            print('你猜的数字太大了,请尝试一个更小的数字。')
        elif guess < number:
            print('你猜的数字太小了,请尝试一个更大的数字。')
        else:
            print(f'恭喜你,你在第{count}次猜对了')
            break

    if guess != number:
        print(f'很遗憾,你没有猜对。正确答案是{number}。')

if __name__ == "__main__":
    main()

这个改进后的猜字游戏增加了游戏难度设置,玩家可以在开始游戏前选择难度。

同时,根据难度设置限制了玩家的猜测次数。此外,代码结构和可读性也得到了优化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-9 18:01:58 | 显示全部楼层    本楼为最佳答案   
你可以考虑以下方法来改进这个猜字游戏,使其更高级:

  • 增加游戏难度设置
  • 限制猜测次数
  • 提供数字范围提示
  • 优化代码结构和可读性


下面是改进后的代码:
import random

def get_difficulty():
    print("请选择游戏难度:")
    print("1. 简单 (1-100)")
    print("2. 中等 (1-500)")
    print("3. 困难 (1-1000)")

    difficulty = int(input("输入1, 2, 或 3:"))
    if difficulty == 1:
        return 100
    elif difficulty == 2:
        return 500
    else:
        return 1000

def get_max_attempts(range_size):
    if range_size == 100:
        return 7
    elif range_size == 500:
        return 10
    else:
        return 14

def main():
    print('欢迎来到猜字游戏!')
    range_size = get_difficulty()
    max_attempts = get_max_attempts(range_size)
    number = random.randint(1, range_size)
    guess = None
    count = 0

    while guess != number and count < max_attempts:
        count += 1
        guess = int(input(f'请猜一个1到{range_size}之间的整数:'))

        if guess > number:
            print('你猜的数字太大了,请尝试一个更小的数字。')
        elif guess < number:
            print('你猜的数字太小了,请尝试一个更大的数字。')
        else:
            print(f'恭喜你,你在第{count}次猜对了')
            break

    if guess != number:
        print(f'很遗憾,你没有猜对。正确答案是{number}。')

if __name__ == "__main__":
    main()

这个改进后的猜字游戏增加了游戏难度设置,玩家可以在开始游戏前选择难度。

同时,根据难度设置限制了玩家的猜测次数。此外,代码结构和可读性也得到了优化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-9 18:25:24 | 显示全部楼层
猜数字游戏.jpg
import random
import tkinter as tk

class GuessingGame(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.master.title("猜数字游戏")
        self.pack()
        self.create_widgets()
        self.new_game()

    def create_widgets(self):
        self.number_label = tk.Label(self, text="猜一个 1 到 100 之间的数字")
        self.number_label.pack(pady=10)

        self.guess_entry = tk.Entry(self, width=20)
        self.guess_entry.pack(pady=10)

        self.guess_button = tk.Button(self, text="猜一下", command=self.check_guess)
        self.guess_button.pack()

        self.result_label = tk.Label(self, text="")
        self.result_label.pack(pady=10)

        self.new_game_button = tk.Button(self, text="开始新游戏", command=self.new_game)
        self.new_game_button.pack(pady=10)

    def new_game(self):
        self.number = random.randint(1, 100)
        self.guess_entry.delete(0, tk.END)
        self.result_label.config(text="")
        self.guess_button.config(state="normal")
        self.guess_entry.config(state="normal")

    def check_guess(self):
        guess = self.guess_entry.get()
        try:
            guess = int(guess)
        except ValueError:
            self.result_label.config(text="请输入一个数字")
            return

        if guess < 1 or guess > 100:
            self.result_label.config(text="请输入一个 1 到 100 之间的数字")
            return

        if guess == self.number:
            self.result_label.config(text="恭喜你,猜中了!")
            self.guess_button.config(state="disabled")
            self.guess_entry.config(state="disabled")
        elif guess < self.number:
            self.result_label.config(text="你猜的数字太小了,请再猜一次。")
        else:
            self.result_label.config(text="你猜的数字太大了,请再猜一次。")

root = tk.Tk()
app = GuessingGame(master=root)
app.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 21:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表