Python猜数字游戏:挑战你的逻辑思维
Python猜数字游戏:挑战你的逻辑思维
想挑战一下你的编程技能和逻辑思维吗?让我们一起用Python创建一个经典的猜数字游戏吧!
游戏规则
系统会随机生成一个0000-9999范围内的无重复数字的四位数。你需要输入一个四位数进行猜测,程序会返回 xAyB 的提示,其中:
- A 表示位置和数字都正确的个数* B 表示数字正确但位置不正确的个数
根据提示不断调整你的猜测,直到猜出正确答案(返回 4A0B)!
Python代码实现
以下是用Python实现猜数字游戏的代码:pythonimport random
def generate_random_number(): digits = random.sample(range(10), 4) number = ''.join(str(d) for d in digits) return number
def evaluate_guess(secret_number, guess): a = 0 # 位置和数字都正确的个数 b = 0 # 数字正确但位置不正确的个数
for i in range(4): if guess[i] == secret_number[i]: a += 1 elif guess[i] in secret_number: b += 1 return (a, b)
def play_game(): secret_number = generate_random_number() guesses_taken = 0
print('欢迎参加猜数字游戏!') print('系统已生成一个四位数,请开始猜测。')
while True: guess = input('请输入一个四位整数:')
if len(guess) != 4 or not guess.isdigit(): print('输入无效,请输入四位整数。') continue
guesses_taken += 1
result = evaluate_guess(secret_number, guess)
print(f'{result[0]}A{result[1]}B')
if result[0] == 4: print(f'恭喜你猜对了!答案是 {secret_number}') print(f'你一共猜了 {guesses_taken} 次。') break
play_game()
代码解析
-
generate_random_number()函数: * 从0到9的数字中随机选择4个不重复的数字。 * 将这些数字拼接成一个字符串,表示四位数。 -
evaluate_guess(secret_number, guess)函数: * 遍历猜测数字和秘密数字的每个位置。 * 如果位置和数字都相同,则 A 的计数加一。 * 如果数字相同但位置不同,则 B 的计数加一。 -
play_game()函数: * 生成一个随机的秘密数字。 * 进入游戏循环,接受用户的猜测输入。 * 验证输入是否为有效的四位整数。 * 调用evaluate_guess()函数评估猜测结果并打印提示。 * 如果猜对 (4A0B),则结束游戏,并显示猜测次数和秘密数字。
总结
通过这个简单的游戏,你可以学习到:
- 如何使用 Python 生成随机数。* 如何处理用户输入和验证数据。* 如何使用循环和条件语句控制程序流程。* 如何将一个问题分解成更小的函数进行解决。
快来挑战一下自己,看看你能否用最少的次数猜出答案吧!
原文地址: http://www.cveoy.top/t/topic/nNU 著作权归作者所有。请勿转载和采集!