请编码实现一款经典的猜数字游戏。玩家先随机在 1-1000之间给出一个数字,让AI猜,如果猜的数大了,提示“大了”,反之,则提示“小了”。直到AI猜中为止。要求使用二分法
时间: 2023-12-05 09:05:18 浏览: 176
以下是 Python 语言的代码实现:
```python
import random
def guess_number():
"""
AI 猜数字游戏
"""
print("请你在1到1000之间随机一个数字,并让 AI 来猜测它。")
# 初始化猜测范围
min_num = 1
max_num = 1000
# AI 开始猜
while True:
# 随机从猜测范围中选取一个数
guess = random.randint(min_num, max_num)
# 打印 AI 的猜测结果
print("AI 猜测的数字是:", guess)
# 与用户输入的数字进行比较
result = input("请告诉 AI 它猜大了还是猜小了(正确则输入“猜对了”):")
if result == "猜大了":
# 如果 AI 猜大了,更新猜测范围的上限
max_num = guess - 1
elif result == "猜小了":
# 如果 AI 猜小了,更新猜测范围的下限
min_num = guess + 1
elif result == "猜对了":
# 如果 AI 猜对了,打印提示信息并结束游戏
print("AI 猜对了!")
break
else:
# 如果用户输入了无效的回答,提示用户重新输入
print("无效的回答,请重新输入。")
if __name__ == '__main__':
guess_number()
```
这个程序使用了二分法来猜测数字,每次都从猜测范围中间选取一个数进行猜测,然后根据用户的回答逐步缩小猜测范围。通过这种方式,AI 可以在比较短的时间内猜到正确的数字。
阅读全文