import random
with open('数独九宫格.txt') as f:
s=f.readlines()
for i in range(len(s)):
s[i]=list(s[i].strip()) #去掉换行符
n=[]
for i in range(10): #抽取数字个数
while True:
t=random.randint(1,81)
if t not in n:
n.append(t)
break
else:
continue
n.sort() #排序,为了在下面答案的正确排列,正确计算分数
answer=[]
for i in n:
x=(i-1)//9
y=i%9-1
answer.append(s[x][y]) #将s中的数字修改为*,并将其值保存在answer中
s[x][y]='*'
print('请看数独九宫格')
for i in range(9):
print(i+1,':',end='')
for j in range(9):
print('%2s'%s[x][y],end='')
print()
user=input('请输入你的十个数字,以空格分隔\n').split() #用户答案
scores=0
for i in range(min(len(user),len(answer))):
if user[i]==answer[i]:
scores+=10 #计算分数
print('标准答案是',end='')
for i in range(len(answer)):
print('%2s'%answer[i],end='')
print('\n你的得分是',scores)
我的结果: