Курс 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. Проверка элемента в множестве.
  2. Новшества Flask 2.0
  3. *args и **kwargs в Python
  4. Списковые включения в Python
  5. Удаление элементов во время итерации
  6. Строки в Python: апострофы и кавычки
  7. Переопределение метода len
  8. Наследование в программировании
  9. Библиотека Rich: форматирование текста
  10. Блок try…finally в Python
  11. Управление фоновыми задачами в Python
  12. Lambda-функция в Python: использование с map() и sum()
  13. Принципы LSP и ISP в Python
  14. Строковое представление объектов
  15. Комплексные числа в Python
  16. Работа со случайными элементами
  17. Оптимизация параметров в Python
  18. Экспорт данных с помощью writefile
  19. Динамическая типизация в Python
  20. Манипуляция формой массива в Numpy
  21. Сортировка HTML по CSS-селектору
  22. Декоратор проверки активности
  23. Деление в Python
  24. Импорт модуля из другого каталога
  25. Python: Splat-оператор и splatty-splat
  26. Лямбда-функции в Python
  27. Присоединение элементов коллекции
  28. Получение обратного списка чисел
  29. Введение в PyTorch
  30. Метод lt для сортировки объектов
  31. Ускорение выполнения кода в Python
  32. Метод setitem в Python
  33. Условные выражения в Python
  34. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  35. Генерация UUID в Python
  36. Работа с CSV файлами
  37. Установка и использование Virtualenv
  38. Создание списка дат
  39. Метод split() в Python
  40. Переменная с нижним подчеркиванием
  41. Работа с множествами в Python
  42. Модуль math: константы π и e
  43. Копирование словарей и списков в Python
  44. Оператор * в Python
  45. Работа с рекламными данными в Pandas
  46. Инверсия списков и строк в Python
  47. Работа с изменяемыми коллекциями
  48. Модуль Operator в Python
  49. Переименование файлов в Python

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