
Computerphile Sudoku Python
grid = [
[ 5, 0, 0, 1, 0, 0, 7, 0, 0 ],
[ 0, 2, 0, 0, 0, 7, 1, 0, 0 ],
[ 3, 0, 1, 4, 0, 0, 8, 5, 2 ],
[ 6, 1, 0, 5, 7, 2, 4, 0, 8 ],
[ 0, 0, 2, 9, 6, 0, 0, 0, 0 ],
[ 0, 4, 0, 0, 3, 0, 6, 2, 7 ],
[ 4, 5, 9, 0, 8, 0, 0, 7, 0 ],
[ 1, 3, 0, 0, 0, 0, 9, 8, 6 ],
[ 2, 0, 0, 0, 1, 0, 0, 4, 3 ]
]
def possible(y,x,n):
for i in range(0,9):
if grid[y][i] == n:
return False
for i in range(0,9):
if grid[i][x] == n:
return False
x0 = (x//3)*3
y0 = (y//3)*3
for i in range(0,3):
for j in range(0,3):
if grid[y0+i][x0+j] == n:
return False
return True
def solve():
print("solving")
for y in range(9):
for x in range(9):
if grid[y][x] == 0:
for n in range(1,10):
if possible(y,x,n):
grid[y][x] = n
solve()
grid[y][x] = 0
return
printGrid()
input()
def printGrid() :
for n in range(0,9):
print(grid[n])
solve()
Documents
New...
Teacher of Health & Social Care
Learnit Physics Unit 7: Magnets
Admissions and Application Forms :: Main School and Sixth Form
Discover...
Python Programming Computerphile Videos Computer Science ZEN Algorithms C# Practice Applications Statutory Information Physics Year 11 C# Recipes Vacancies Parent Information Bullying Health and Social Care Student Information A Level ABU Theory
Uh-oh - we were unable to load our website on your browser so we're showing you a plain HTML version.
We use many features found in modern browsers and regrettably yours seems incompatible.
However this legacy version contains (very, very nearly) all the same content. Each page is rendered on our server and doesn't rely on any browser features except the odd font. It doesn't even need Javascript or fancy CSS. It's like being in 1995!
Your browser is reporting itself to us as Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com). Please consider updating your browser to make the most of our website.
If you would like to try our proper website again - you can do so here...