鱼C论坛

 找回密码
 立即注册
查看: 2101|回复: 8

[吹水] GPT能猜数我的数字吗?

[复制链接]
发表于 2023-12-7 15:50:52 | 显示全部楼层 |阅读模式

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

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

x

我这里有3个数字,每次电脑猜数时,我将给予电脑zxc的反馈,zxc是对应各数字的状态,举个例子。正确答案是123,你猜的是132,那么符号就显示为zxx,z代表你所猜测的数字正确,位置正确。x代表你猜的数字正确,位置不正确。c代表你猜的数字不正确,位置也不正确。这个小游戏就是让电脑在最少的次数猜出正确的三位数组合。一旦发现可以排除的数字,绝对不要浪费机会再次尝试。比如你猜147,则提示为zcc,这时候如果电脑继续尝试含有4和7的组合就是浪费时间。请用python代码猜出我的数字。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-12-7 15:51:11 | 显示全部楼层
@FISHC_GPT
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 15:51:19 | 显示全部楼层

你好!有什么问题我可以帮助你解答呢?

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-7 15:52:01 | 显示全部楼层
我这里有3个数字,每次电脑猜数时,我将给予电脑zxc的反馈,zxc是对应各数字的状态,举个例子。正确答案是123,你猜的是132,那么符号就显示为zxx,z代表你所猜测的数字正确,位置正确。x代表你猜的数字正确,位置不正确。c代表你猜的数字不正确,位置也不正确。这个小游戏就是让电脑在最少的次数猜出正确的三位数组合。一旦发现可以排除的数字,绝对不要浪费机会再次尝试。比如你猜147,则提示为zcc,这时候如果电脑继续尝试含有4和7的组合就是浪费时间。请用python代码猜出我的数字。

@FISHC_GPT
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-7 15:53:05 | 显示全部楼层
ab16838123 发表于 2023-12-07 15:52
我这里有3个数字,每次电脑猜数时,我将给予电脑zxc的 ...

好的,让我们一起来编写一个程序来猜出你的三位数字吧!我们可以使用循环和条件语句来实现。

思路如下:
1. 先生成一个包含所有可能的三位数字的列表。
2. 程序每次猜测一个数字,然后根据你给出的反馈进行判断。
3. 根据反馈结果,排除掉不可能的数字,更新可能的数字列表。
4. 重复步骤2和步骤3,直到猜到正确的数字。

下面是示例代码:
  1. import random
  2. def generate_possible_numbers():
  3.     # 生成所有可能的三位数字
  4.     numbers = []
  5.     for i in range(100, 1000):
  6.         digits = [int(x) for x in str(i)]
  7.         if len(set(digits)) == 3:
  8.             numbers.append(digits)
  9.     return numbers
  10. def compare_numbers(guess, answer):
  11.     # 比较猜测的数字和答案,返回反馈字符串
  12.     feedback = ''
  13.     for i in range(3):
  14.         if guess[i] == answer[i]:
  15.             feedback += 'z'
  16.         elif guess[i] in answer:
  17.             feedback += 'x'
  18.         else:
  19.             feedback += 'c'
  20.     return feedback
  21. def computer_guess_number():
  22.     possible_numbers = generate_possible_numbers()
  23.     while True:
  24.         guess = random.choice(possible_numbers)
  25.         print('电脑猜测的数字是:', guess)
  26.         
  27.         zxc = input('请输入zxc符号(例如zxx,z代表你所猜测的数字正确,位置正确。x代表你猜的数字正确,位置不正确。c代表你猜的数字不正确,位置也不正确。):')
  28.         
  29.         # 对所有可能数字进行筛选
  30.         possible_numbers = [num for num in possible_numbers if compare_numbers(guess, num) == zxc]
  31.         
  32.         if len(possible_numbers) == 1:
  33.             break
  34.     print('电脑猜对了,答案是:', possible_numbers[0])
  35. # 运行程序
  36. computer_guess_number()
复制代码

这样,电脑将不断根据你的反馈进行猜测,直到猜出正确的数字为止。希望能够帮助到你!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-20 10:13:15 | 显示全部楼层
ab16838123 发表于 2023-12-7 15:52
我这里有3个数字,每次电脑猜数时,我将给予电脑zxc的反馈,zxc是对应各数字的状态,举个例子。正确答案是1 ...

@fishc 数字从000开始
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 10:13:22 | 显示全部楼层
ab16838123 发表于 2023-12-20 10:13
@fishc 数字从000开始

如果你想从000开始打印数字,可以使用循环语句来帮助你实现。下面是一个示例程序:
  1. for i in range(1000):
  2.     print("{:03d}".format(i))
复制代码

在这个程序中,我们使用了 `range()` 函数来生成从0到999的所有整数。然后,我们使用字符串的 `format()` 方法将每个数字格式化为三位数,并使用前导零填充。最后,我们使用 `print()` 函数打印每个格式化后的数字。

你可以根据自己的需要更改循环的范围。如果你只想打印从0到99的数字,可以将 `range()` 函数的参数改为100。如果你想打印更大的范围,只需相应地修改参数即可。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-20 10:26:19 | 显示全部楼层
我这里有3个数字,数字从000开始到999结束。每次电脑猜数时,我将给予电脑zxc的反馈,zxc是对应各数字的状态,举个例子。正确答案是123,你猜的是132,那么符号就显示为zxx,z代表你所猜测的数字正确,位置正确。x代表你猜的数字正确,位置不正确。c代表你猜的数字不正确,位置也不正确。这个小游戏就是让电脑在最少的次数猜出正确的三位数组合。一旦发现可以排除的数字,绝对不要浪费机会再次尝试。比如你猜147,则提示为zcc,这时候如果电脑继续尝试含有4和7的组合就是浪费时间。请用python代码猜出我的数字。@fishc
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 10:26:35 | 显示全部楼层
ab16838123 发表于 2023-12-20 10:26
我这里有3个数字,数字从000开始到999结束。每次电脑 ...

好的,我来帮你写一个猜数字的小游戏吧。我们可以使用一个列表来存储所有可能的三位数字,然后根据你的反馈,逐渐缩小可能的范围,直到猜出正确的数字为止。下面是示例代码:
  1. import random
  2. # 初始化所有可能的三位数字
  3. all_numbers = [str(i).zfill(3) for i in range(1000)]
  4. # 主循环
  5. while True:
  6.     # 随机猜一个数字
  7.     guess = random.choice(all_numbers)
  8.     print("我的猜测是:", guess)
  9.    
  10.     # 获取你的反馈
  11.     feedback = input("请给出反馈(例如zxx、zcc):")
  12.    
  13.     # 筛选出符合反馈的数字
  14.     all_numbers = [num for num in all_numbers if all((f == 'z' and num[i] == guess[i]) or (f == 'x' and num[i] in guess) or (f == 'c' and num[i] not in guess) for i, f in enumerate(feedback))]
  15.    
  16.     # 如果只剩下一个数字,说明猜对了
  17.     if len(all_numbers) == 1:
  18.         print("猜对了,答案是:", all_numbers[0])
  19.         break
复制代码

这段代码会通过随机猜测数字并根据你的反馈进行筛选,直到剩下一个数字为止。希望能够帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 21:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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