Расширю тему с крестиками-ноликами. Вот пример чуть посложнее:
Программный код:
import random
board = [' ' for _ in range(9)]
def print_board():
for i in range(3):
print('|'.join(board[3*i:3*i+3]))
if i != 2:
print('-+-+-')
def check_winner(player):
win_positions = [(0,1,2), (3,4,5), (6,7,8), (0,3,6), (1,4,7), (2,5,8), (0,4,8), (2,4,6)]
return any(all(board[pos] == player for pos in win) for win in win_positions)
def main():
player = 'X'
for _ in range(9):
print_board()
move = int(input(f'Player {player}, make your move (0-8): '))
board[move] = player
if check_winner(player):
print(f'Player {player} wins!')
return
player = 'O' if player == 'X' else 'X'
print_board()
print('Game over')
main()
Тут уже проверка на победителя и игровая механика сложнее, можно добавить функционал для игры с другом.