n = 5 sou = [['cloxy&(9665)#39;,3,0],['kcotd',2,1],['apqud&(9667)#39;,2,0],['cxmnu',1,1],['bldwz&(9669)#39;,1,1]] res = [] st = [chr(i) for i in range(97,123)] def find(sou,st,ans):     k = len(ans)     if k == n:         for i in range(len(sou)):             if sou[i][1] != 0&nbs***bsp;sou[i][2] != 0:                 break         else:             res.append(ans)     else:         for i in st:             temp = [[x for x in sou[i]] for i in range(len(sou))]             for j in range(len(sou)):                 if sou[j][0][k] == i:                     temp[j][1] -= 1                     if temp[j][1] == -1:                         break                 elif i in sou[j][0]:                     temp[j][2] -=1                     if temp[j][2] == -1:                         break             else:                 temp1 = st[:]                 temp1.remove(i)                 find(temp,temp1,ans+i) find(sou,st,'') print(res[0]) —————————————————————————————————————————— 因为不知道输入的具体格式我就直接把例子输入进来了,就是一个剪枝,评论字数有限大家凑活着看吧