Курс Python → Инициализация переменных

Когда мы начинаем разбираться с развернутой инструкцией по написанию игры «Крестики-нолики» на Python, первым шагом будет инициализация переменных. В данном случае, мы можем начать с создания переменной row, которая будет представлять собой одну строку игрового поля. При этом, важно понимать, что каждый элемент этой строки будет представлять одну клетку игрового поля — крестик, нолик или пустое место.

row = [' ', ' ', ' ']

Затем, для создания игрового поля размером 3х3, мы можем инициализировать переменную board, которая будет представлять собой список строк (каждая строка — это одна строка игрового поля). Однако, важно помнить, что если мы будем инициализировать board путем умножения переменной row, то каждый элемент board будет ссылаться на один и тот же список, на который ссылается row.

board = [row] * 3

Чтобы избежать этой проблемы и иметь возможность изменять каждую строку игрового поля независимо, мы можем создать board без использования переменной row. Вместо этого, мы можем просто создать список списков, представляющих каждую строку игрового поля отдельно.

board = [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']]

Таким образом, после инициализации игрового поля, мы можем приступить к написанию логики игры «Крестики-нолики» на Python, включая ход игроков, проверку победителя и отображение игрового поля. Например, мы можем написать функцию для отображения игрового поля следующим образом:

def display_board(board):
    for row in board:
        print('|'.join(row))
        print('-' * 5)
Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Реверс строки в Python
  2. Многострочные комментарии в Python
  3. Глубокое копирование объектов
  4. Игра «Камень, ножницы, бумага» — Python
  5. Группы исключений в Python
  6. Работа с модулем os в Python
  7. Декораторы с @wraps
  8. Оператор «or» в Python
  9. Python Calendar Usage
  10. Форматирование вывода с F-строками
  11. Работа с датой и временем в Python
  12. Переопределение метода __rshift__
  13. HTTP-запросы с библиотекой Requests
  14. Транспонирование 2D-массива с помощью zip
  15. Сортировка в Python
  16. Поток данных в Python
  17. Блок else в Python
  18. Создание словаря с значением по умолчанию
  19. Копирование словарей и списков в Python
  20. Тест скорости набора текста на Python
  21. Конкатенация строк в Python
  22. Работа с массивами в Numpy
  23. Функциональное программирование в Python
  24. Вывод переменной и строки в Python
  25. Каналы Senior: Python, Java, Frontend, SQL, C++
  26. Отслеживание прогресса с tqdm
  27. Создание словарей с defaultdict()
  28. Декораторы классов
  29. Операторы объединения в Python 3.9
  30. Отладка в Python
  31. Бинарный поиск
  32. Операторы Splat и splatty-splat
  33. Вывод с переменной через запятую
  34. PEP-401: оператор
  35. Иерархия классов в Python
  36. Генерация QR-кодов с Python
  37. Генераторы списков в Python
  38. Хэш-функции и метод цепочек
  39. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  40. Обучение модели с указанием эпох
  41. Названия столбцов в Python таблицах
  42. Метод lt для сортировки объектов
  43. Избегайте пустого списка
  44. Анонимные функции в Python
  45. Декораторы с аргументами в Python
  46. Операторы увеличения и уменьшения переменной
  47. Копирование в Python
  48. Копирование списков в Python

Marketello читают маркетологи из крутых компаний