File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree 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