lzj952809310
lzj952809310
采纳率50%
2020-04-16 21:28

为什么我的输出是***?

已采纳

图片说明

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)

我的结果:
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 1年前
    for i in range(10):     #抽取数字个数
        stopflag=0
        while stopflag==0:
            t=random.randint(1,81)
            if t not in n:
                n.append(t)
                stopflag=1
    
    点赞 评论 复制链接分享