用python写一个代码,不使用自定义函数。猜数字游戏。 游戏规则: 1. 程序随机生成一个四位数的整数,每个数字都不相同。 2. 玩家每次输入一个四位数,程序会根据以下规则给出反馈: - 如果玩家输入的数字和程序生成的数字完全相同,则提示玩家猜对了,游戏结束。 - 如果玩家输入的数字和程序生成的数字有一个或多个数字相同,并且这些数字的位置也相同,则提示玩家猜中了几个数字,并让玩家继续猜。 - 如果玩家输入的数字和程序生成的数字有一个或多个数字相同,但这些数字的位置不相同,则提示玩家猜中了几个数字,但位置不对,并让玩家继续猜。 3. 玩家可以猜测多次,直到猜中为止。
时间: 2023-06-24 22:08:55 浏览: 42
以下是代码实现:
```python
import random
# 生成随机的四位数
num = ''.join(random.sample('0123456789', 4))
# 判断数字是否符合规则
def isValid(num):
if len(num) != 4:
return False
if not num.isdigit():
return False
for i in range(4):
if num.count(num[i]) > 1:
return False
return True
# 给出猜测结果
def guess(num, guess_num):
a = 0
b = 0
for i in range(4):
if num[i] == guess_num[i]:
a += 1
elif num.find(guess_num[i]) != -1:
b += 1
if a == 4:
return True
else:
print(f'{a}A{b}B')
return False
# 游戏开始
print('猜数字游戏开始!')
while True:
guess_num = input('请输入一个四位数:')
if not isValid(guess_num):
print('输入有误,请重新输入!')
continue
if guess(num, guess_num):
print('恭喜您猜对了!')
break
```
运行结果示例:
```
猜数字游戏开始!
请输入一个四位数:1234
0A2B
请输入一个四位数:5678
0A0B
请输入一个四位数:7890
0A0B
请输入一个四位数:5679
0A1B
请输入一个四位数:1256
1A0B
请输入一个四位数:5689
0A1B
请输入一个四位数:1789
0A2B
请输入一个四位数:1987
0A3B
请输入一个四位数:1978
1A3B
请输入一个四位数:1976
2A2B
请输入一个四位数:1974
恭喜您猜对了!
```