Курс 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. Метод join() для объединения элементов
  4. Блок else в обработке исключений
  5. Импорт модулей в Python 3.12
  6. Поиск простых чисел
  7. Работа с файлами в Python
  8. Принципы программирования
  9. Объединение итераторов
  10. Ошибка NotImplemented в Python
  11. Python Аргументы по умолчанию
  12. Генерация случайных чисел в Python
  13. Проверка подстроки в строке с помощью in
  14. Базовые объекты Python
  15. Приоритет операций в Python
  16. Получение комбинаций в Python
  17. Проверка индексов коллекции
  18. Обработка ошибки IndexError
  19. Функция zip() в Python
  20. Хэш-функции и метод цепочек
  21. Область видимости переменных
  22. Преобразование регистра строк
  23. Работа с базами данных SQLite
  24. Оператор «or» в Python
  25. Метод get для словарей
  26. Отправка HTTP-запросов в Python
  27. Деление в Python
  28. Повторение и перенос строки
  29. Обработка StopIteration в Python
  30. Работа с файловой системой в Python
  31. Удаление элементов из списка в Python
  32. Итераторы в Python
  33. Декоратор total_ordering для сравнения объектов
  34. Курс по дообучению ChatGPT
  35. Обновление данных через PUT запрос
  36. Метод split() для разделения строк
  37. Расчет времени выполнения кода
  38. Каналы Senior: Python, Java, Frontend, SQL, C++
  39. Группировка элементов Python
  40. Создание коллекций из генератора
  41. Python-dateutil — работа с датами
  42. Конкатенация строк с помощью join()
  43. Множественное присваивание в Python

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