Untitled
unknown
plain_text
2 years ago
1.6 kB
8
Indexable
def print_board(board):
for row in board:
print(" | ".join(row))
print("-" * 5)
def check_winner(board, player):
win_conditions = [
[board[0][0], board[0][1], board[0][2]],
[board[1][0], board[1][1], board[1][2]],
[board[2][0], board[2][1], board[2][2]],
[board[0][0], board[1][0], board[2][0]],
[board[0][1], board[1][1], board[2][1]],
[board[0][2], board[1][2], board[2][2]],
[board[0][0], board[1][1], board[2][2]],
[board[0][2], board[1][1], board[2][0]],
]
if [player, player, player] in win_conditions:
return True
return False
def tic_tac_toe():
board = [[" " for _ in range(3)] for _ in range(3)]
current_player = "X"
moves = 0
while moves < 9:
print_board(board)
try:
row, col = map(int, input(f"Player {current_player}, enter row and column to place your {current_player}: ").split())
if board[row][col] == " ":
board[row][col] = current_player
if check_winner(board, current_player):
print_board(board)
print(f"Player {current_player} wins!")
return
current_player = "O" if current_player == "X" else "X"
moves += 1
else:
print("This spot is already taken.")
except (IndexError, ValueError):
print("Please enter row and column as two numbers between 0 and 2.")
print_board(board)
print("It's a tie!")
if __name__ == "__main__":
tic_tac_toe()
Editor is loading...
Leave a Comment