[img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/907653464876163.png "#left"
for x in range(12, 98):
for y in range(123, 987):
for z in range(1234, 9876):
if (x + y + z == 3102):
if (len(''.join(list(OrderedDict((c,0) for c in str(x) + str(y) + str(z)).keys()))))== 9):
print (str(x) + " " + str(y) + " " + str(z))
参考一下,答案是九
for i in range(10): # 枚举第一个空格的值
for j in range(10): # 枚举第二个空格的值
if i != j: # 保证选出的两个数不同
nums = set(range(10)) - {i, j} # 从剩下的数字中选出第三个数
k = 3102 - (i * 100 + j * 10) # 计算第三个空格的值
if k in nums: # 如果第三个数在剩下的数字中,则找到了答案
print("未被选中的数字是:", set(range(10)) - {i, j, k})
break # 结束循环
else:
continue # 如果内层循环正常结束,继续下一轮外层循环
break # 如果内层循环被break中断,直接结束循环