Курс 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. Экспорт данных в файл.
  3. Работа с enumerate()
  4. Распаковка элементов последовательности
  5. GitHub в Telegram: подписка на уведомления
  6. Модуль Operator в Python
  7. Изменение элемента списка
  8. Python: изменяемые и неизменяемые коллекции
  9. Работа с пакетами
  10. Безопасные SQL-запросы в Python 3.11
  11. Хранение данных
  12. Оптимизация параметров в Python
  13. Оптимизация памяти в Python
  14. Оператор continue в Python
  15. Beautiful Soup — извлечение данных из HTML
  16. Работа с изображениями Pillow
  17. Навыки Python: строки, типы данных
  18. Нарезка списков в Python
  19. Библиотека funcy: удобные утилиты
  20. Списки: объединение, изменение
  21. Методы list в Python
  22. Протокол управления контекстом
  23. Частичное применение функций в Python
  24. Функции в одну строку
  25. Создание namedtuple списком полей
  26. Поиск анаграмм с Counter
  27. Встроенные функции Python
  28. Использование модуля __future__
  29. Изменение IP-адреса в Python
  30. Замер времени выполнения кода
  31. Добавление элементов в список
  32. Расчет времени выполнения кода
  33. Python enumerate() использование
  34. Управление мышью и клавиатурой с Pyautogui
  35. Принципы Zen of Python
  36. Ограничение итераций в Python
  37. Форматирование строк в Python
  38. Выход из профиля в Django
  39. Возвращение нескольких значений через кортеж или класс
  40. Преобразование Excel в PDF с Spire.XLS
  41. Проверка версии Python
  42. Поиск повторов в списке
  43. Генераторы в Python
  44. Декораторы в Python
  45. Многострочные комментарии в Python
  46. Удаление ключа из словаря
  47. Работа с CSV в Python
  48. Значения по умолчанию в Python
  49. Синхронизация доступа к ресурсам

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