python猜多位数
时间: 2023-10-20 21:36:44 浏览: 98
python实现猜数游戏
如果你想设计一个猜多位数的Python游戏,可以参考以下步骤:
1. 首先,生成一个随机的多位数作为正确答案,确保每个数字都不相同。你可以使用random模块中的randint函数来生成一个在指定范围内的随机整数。
2. 让用户输入一个猜测的多位数,并使用while循环来判断输入是否符合要求,即是否有4个不同的数字。你可以将用户输入的多位数转换为字符串,然后使用集合来判断是否有重复的数字。
3. 每次猜测后,统计猜中数字且位置正确的数量和猜中数字但位置错误的数量。可以使用两个变量来记录这两个数量。
4. 根据猜测的结果,给出相应的提示信息,比如“nAmB”,其中数字n表示数字和位置都猜对的数量,数字m表示数字猜对但位置不对的数量。
5. 继续让用户猜测,直到猜中为止。可以使用一个计数变量来记录用户猜测的次数,并根据猜测次数来计算成绩,成绩越低表示猜中的步骤越少,成绩越高。
以下是一个示例代码:
```python
import random
def generate_answer():
digits = random.sample(range(10), 4)
answer = ''.join(map(str, digits))
return answer
def evaluate_guess(answer, guess):
correct_positions = sum(a == b for a, b in zip(answer, guess))
correct_digits = len(set(answer) & set(guess))
incorrect_positions = correct_digits - correct_positions
return correct_positions, incorrect_positions
def play_game():
answer = generate_answer()
score = 0
while True:
guess = input("请输入一个四位数:")
if len(guess) != 4 or len(set(guess)) != 4:
print("请输入4个不同的数字!")
continue
correct_positions, incorrect_positions = evaluate_guess(answer, guess)
score += 1
if correct_positions == 4:
print("恭喜你猜对了!")
print("你的成绩是:", score)
break
else:
print(f"{correct_positions}A{incorrect_positions}B")
play_game()
```
这个游戏会生成一个随机的四位数作为正确答案,然后通过用户的猜测来给出相应的提示,直到用户猜中为止。每次猜测会计算成绩,最终会显示出猜中的步骤数作为成绩。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文