如何验证数独线是否包含全部 9 位数字?
How do I verify if the sudokus lines do have all 9 digits?
有人可以给我建议如何启动我的代码吗?我应该验证包含 9 行数字的文本文档是否包含所有 9 位数字。如果是这样,我的代码应该说 True,否则为 False。
这是其中一个文本文档示例
5,3,4,2,7,6,9,1,8
6,2,8,1,9,5,3,4,7
1,7,9,3,4,8,5,6,2
8,5,2,7,6,1,4,9,3
4,9,6,8,5,3,7,2,1
7,1,3,9,2,4,8,5,6
9,6,1,5,3,7,2,8,4
2,8,6,5,1,9,6,3,5
3,4,5,6,8,2,1,7,9
代码必须为 False
非常感谢
你可以这样做(当然你需要从文件中读取,这留给你):
s = '''5,3,4,2,7,6,9,1,8
6,2,8,1,9,5,3,4,7
1,7,9,3,4,8,5,6,2
8,5,2,7,6,1,4,9,3
4,9,6,8,5,3,7,2,1
7,1,3,9,2,4,8,5,6
9,6,1,5,3,7,2,8,4
2,8,6,5,1,9,6,3,5
3,4,5,6,8,2,1,7,9'''
for x in s.split('\n'):
print(''.join(sorted(x.split(','))) == '123456789')
# True
# True
# True
# True
# True
# True
# True
# False
# True
这会检查每一行是否以任何顺序包含从 1
到 9
的所有数字,在这种情况下给出 True
否则 False
.
有人可以给我建议如何启动我的代码吗?我应该验证包含 9 行数字的文本文档是否包含所有 9 位数字。如果是这样,我的代码应该说 True,否则为 False。
这是其中一个文本文档示例
5,3,4,2,7,6,9,1,8
6,2,8,1,9,5,3,4,7
1,7,9,3,4,8,5,6,2
8,5,2,7,6,1,4,9,3
4,9,6,8,5,3,7,2,1
7,1,3,9,2,4,8,5,6
9,6,1,5,3,7,2,8,4
2,8,6,5,1,9,6,3,5
3,4,5,6,8,2,1,7,9
代码必须为 False 非常感谢
你可以这样做(当然你需要从文件中读取,这留给你):
s = '''5,3,4,2,7,6,9,1,8
6,2,8,1,9,5,3,4,7
1,7,9,3,4,8,5,6,2
8,5,2,7,6,1,4,9,3
4,9,6,8,5,3,7,2,1
7,1,3,9,2,4,8,5,6
9,6,1,5,3,7,2,8,4
2,8,6,5,1,9,6,3,5
3,4,5,6,8,2,1,7,9'''
for x in s.split('\n'):
print(''.join(sorted(x.split(','))) == '123456789')
# True
# True
# True
# True
# True
# True
# True
# False
# True
这会检查每一行是否以任何顺序包含从 1
到 9
的所有数字,在这种情况下给出 True
否则 False
.