Skip to content

Commit 48ba180

Browse files
Add files via upload
1 parent cf518e5 commit 48ba180

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

3x3.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# 3x3 sudoku
2+
import random
3+
4+
def duplicate_checker(a):
5+
b = set(a)
6+
result = len(a) != len(b)
7+
#print(result)
8+
if(result == True):
9+
return True
10+
11+
def checkrow_horz(a):
12+
for x in a:
13+
if(duplicate_checker(x) == True):
14+
return True
15+
16+
17+
def checkrow_vert(a):
18+
for y in range(len(a)):
19+
temp = []
20+
for x in a:
21+
temp.append(x[y])
22+
if(duplicate_checker(temp) == True):
23+
return True
24+
25+
def display_grid(grid):
26+
print("")
27+
count =1
28+
print(" 1 2 3")
29+
for x in grid:
30+
31+
print(count,x,end=" ")
32+
count+=1
33+
print()
34+
35+
def scramble(grid):
36+
for x in range(6):
37+
y = random.randint(0,2)
38+
x = random.randint(0,2)
39+
grid[x][y] = 0
40+
41+
42+
43+
grid = [[1, 2, 3],[3, 1, 2] ,[2, 3, 1]]
44+
45+
solved = False
46+
scramble(grid)
47+
display_grid(grid)
48+
49+
50+
while solved != True:
51+
y = int(input("enter vertical [1,3] "))-1
52+
x = int(input("enter horizontal [1,3]"))-1
53+
num = int(input("enter number]"))
54+
55+
if grid[y][x] == 0:
56+
grid[y][x] = num
57+
else:
58+
if input("overwrite? [y/n]") == "y":
59+
grid[y][x] = num
60+
61+
display_grid(grid)
62+
full = True
63+
for x in grid:
64+
for y in x:
65+
if(y == 0):
66+
full = False
67+
if(full ==True):
68+
if(checkrow_horz(grid)==True or checkrow_vert(grid) == True):
69+
print("try again")
70+
else:
71+
print("solved")
72+
solved =True
73+

0 commit comments

Comments
 (0)