Мне уже как-то помогли на одном форуме переписав код в продвинутый вариант. Я от безнадёжья сдал его, за что и был развёрнут преподом. По причине, что мы на этот уровень ещё не вышли.
Не переделывайте, пожалуйста код, так, что оно будет выше моего уровня! Спасибо за понимание!
Да и я бы хотел понять - что я не так делаю. А на вашем уровне я пока не был

Вопрос, который мне любят задавать: Для чего оно тебе?
Ответ: Такое задание дали. Построить судоку. Полностью заполненное.
Мне не нужно решение. Хочу сам к нему прийти. Препод сказал, что мы напишем сейчас и в конце года. И сравним - на сколько продвинулись. Я просто хочу знать ошибку моего вариаета.
Простите за такое гневное вступление.
Что не так:
Скрипт срабатывает крайне редко. Зависает то на одном цикле, то на другом. Редко уходит дальше 4го.
Вопрос: ПОЧЕМУ?
PS: Когда я менял for z in range(2,9): с 9 на 5 - иногда даже скрипт выполнялся до конца. При 9 - ни разу.
import random sudoku = [[],[],[],[],[],[],[],[],[]] for z in range(0,9): print(z) while len(sudoku[z])<9: r = random.randint(1,9) sudoku[z].append(r) for i in sudoku[z]: n = sudoku[z].index(i) vloj = [] for p in range(0,z): vloj.append(sudoku[p][n]) if sudoku[z].count(i) > 1 or sudoku[z][n] in vloj: del sudoku[z][-1] print() print(sudoku)