File tree 1 file changed +46
-0
lines changed
1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change
1
+ def print_board (board ):
2
+ for row in board :
3
+ print (" | " .join (row ))
4
+ print ("-" * 9 )
5
+
6
+ def check_winner (board , player ):
7
+ for i in range (3 ):
8
+ # Check rows and columns
9
+ if all (board [i ][j ] == player for j in range (3 )) or all (board [j ][i ] == player for j in range (3 )):
10
+ return True
11
+ # Check diagonals
12
+ if all (board [i ][i ] == player for i in range (3 )) or all (board [i ][2 - i ] == player for i in range (3 )):
13
+ return True
14
+ return False
15
+
16
+ def is_full (board ):
17
+ return all (cell != " " for row in board for cell in row )
18
+
19
+ def main ():
20
+ board = [[" " for _ in range (3 )] for _ in range (3 )]
21
+ player = "X"
22
+
23
+ while True :
24
+ print_board (board )
25
+ row = int (input (f"Player { player } , enter the row (0, 1, 2): " ))
26
+ col = int (input (f"Player { player } , enter the column (0, 1, 2): " ))
27
+
28
+ if 0 <= row < 3 and 0 <= col < 3 and board [row ][col ] == " " :
29
+ board [row ][col ] = player
30
+
31
+ if check_winner (board , player ):
32
+ print_board (board )
33
+ print (f"Player { player } wins!" )
34
+ break
35
+
36
+ if is_full (board ):
37
+ print_board (board )
38
+ print ("It's a draw!" )
39
+ break
40
+
41
+ player = "O" if player == "X" else "X"
42
+ else :
43
+ print ("Invalid move. Try again." )
44
+
45
+ if __name__ == "__main__" :
46
+ main ()
You can’t perform that action at this time.
0 commit comments