python写出1A2B游戏
时间: 2023-11-03 20:53:42 浏览: 46
当然可以!下面是一个简单的例子来实现1A2B游戏:
```python
import random
def generate_number():
"""生成一个4位数的随机数字"""
digits = list(range(10))
random.shuffle(digits)
return digits[:4]
def get_input():
"""获取用户输入的4位数字"""
while True:
user_input = input("请输入一个4位数字: ")
if len(user_input) != 4 or not user_input.isdigit():
print("请输入一个有效的4位数字!")
else:
break
return [int(d) for d in user_input]
def count_a_b(target, guess):
"""计算数字和位置都正确(A)和只有数字正确(B)的个数"""
a = b = 0
for i in range(4):
if guess[i] == target[i]:
a += 1
elif guess[i] in target:
b += 1
return a, b
def play_game():
target_number = generate_number()
attempts = 0
while True:
attempts += 1
guess_number = get_input()
a, b = count_a_b(target_number, guess_number)
print(f"{a}A{b}B")
if a == 4:
print(f"恭喜!你猜对了,正确的数字是 {''.join(map(str, target_number))}!")
print(f"你猜了 {attempts} 次。")
break
play_game()
```
在这个游戏中,电脑会生成一个4位数的随机数字,然后你需要猜测这个数字。每次猜测后,程序会返回你猜测的数字中,数字和位置都正确的个数(A),以及只有数字正确但位置不正确的个数(B)。根据这些提示,你可以调整你的下一次猜测,直到猜对为止。
希望这个例子能帮到你!如果有任何问题,请随时提问。