Мне нужна помощь с моим кодом. Я знаю, как запустить доску, но я не знаю, как проверить, повторяются ли числа в строках и столбцах, и как это изменить.
Списки, матрицы, для циклов
import turtle
import random
import time
board = [ #Initialize board.
["X","X","X","X"],
["X","X","X","X"],
["X","X","X","X"],
["X","X","X","X"]
]
values = ["0","1","2","3"] #Accepted values
def sudoku():
#Start screen
print("SUDOKU".center(50,"-"))
print("Rules") #To be changed later c:
start = int(input("Type 1 to start."))
crearTablero()
checkDuplicates()
def createBoard():
for row in range(len(board)):
if row%2 == 0:
board[row][0] = random.sample(values,1)
board[row][2] = random.sample(values,1)
if row%2 == 1:
board[row][1] = random.sample(values,1)
board[row][3] = random.sample(values,1)
print(board[row])
def checkDuplicates(): #Check for duplicates while creating
for column in range(len(board[0])):
#Tried to check if a number has been used in the column, change it to a new number
val = [x for x in val]
for i in range(4):
while board[columna][0] != board[columna][i]:
celda = board[columna][i]
celda = random.sample(valores,1)
celdastr = "".join(celda)
check = val.index(celdastr) #I'm stuck here. I get ValueError when trying to delete the used number from val.
if check != "-1":
val.remove(check)
#I still have to create functions to enter the answer, check it and check if the board is full
sudoku()
Я получаю ValueError при попытке удалить из списка значений, и числа не меняются: (.
Traceback (последний вызов был последним): файл "sudoku.py", строка 54, в sudoku () Файл "sudoku.py", строка 21, в sudoku checarDuplicado () файл "sudoku.py", строка52, в checarDuplicado val.remove (проверка) ValueError: list.remove (x): x отсутствует в списке