python可以数独游戏吗_Python数独游戏

我是python和StackOverflow的新手,尝试编写一个小程序来检查一个数独难题(即一系列列表)是正确的(True)还是不正确的(False)。

所以我通过编写两个函数来分解它,一个检查行(即检查1-n-中的每个数字中是否有一个,其中n是列表的长度)和一个检查列的函数(确保列表中没有元素交叉,并且在位置0、1等处,从1到n的每个数字中只有一个)。

第一个函数工作正常,但第二个函数(检查列)似乎总是输出“True”,即使拼图不正确。例如,对于列表

myList=

[[1,2,3],

[3,1,2],

[3,2,3]],

当拼图错误时,输出为True。我试过很多次通过逐行检查来发现问题,但都没用!有人能指出我做错了什么,或者分享一些更好的数独检查程序编码方法吗?:)

谢谢您!!下面是我检查列的代码:def check_down(list_of_lists):

a = [] #checking list

i = -1 #list

j = 0 #position

n = len(list_of_lists)

while True:

i = i + 1

if [list_of_lists[i][j]] in a: #if list element already in a, it is a copy so False

return False

break

elif [list_of_lists[i][j]] not in a:

a = a + [list_of_lists[i][j]] #if list element not in a then add it

if i == n-1 and j == n-1: #if loop reaches end of lists, True

return True

break

elif i == n-1 and j!= n-1: #if last list but not last position, move on

j = j +1 #next position to check

i = -1 #reset i to -1

del a[:] #empty the checking list

else:

return False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值