Курс 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. Установка Python3.7 и PIP
  2. Присоединение элементов коллекции
  3. Фильтрация списка от «ложных» значений
  4. Роль запятой в Python
  5. Резервирование символов в Python
  6. Реализация операции -= для пользовательского класса
  7. Парсинг веб-страниц с Beautiful Soup
  8. Метод join() для объединения элементов в строку.
  9. Перевернуть список в Python
  10. Python Тесты и Гайды
  11. Разбиение текста в Python
  12. Docstring в Python
  13. Преобразование числа в список цифр
  14. Многострочные строки в Python
  15. Нахождение самого длинного слова в списке с помощью max
  16. Работа с zip()
  17. Получение срезов итераторов
  18. Метод rrshift для пользовательских объектов
  19. Создание новой даты в Python
  20. Оператор Walrus в Python
  21. Ветвление выражения в Python
  22. Оптимизация строк в Python
  23. Дефолтные параметры в Python
  24. Управление ресурсами с контекстными менеджерами
  25. Красивый вывод списка
  26. Анонимные функции в Python
  27. Лямбда-функции для min/max
  28. Работа с NumPy
  29. Применение функции к списку
  30. Создание тестовых данных с Faker
  31. Функция zip() в Python
  32. Генераторы в Python
  33. Проблемы с dict в Python
  34. Модуль math: основные функции
  35. Переопределение метода __lshift__
  36. Игра «Камень, ножницы, бумага» — Python
  37. Работа с кортежами
  38. Импорт модулей в Python 3.12
  39. Уникальные значения из списка
  40. Функции в Python
  41. Распаковка аргументов в Python
  42. Объединение, распаковка и деструктуризация
  43. Работа с итераторами в Python
  44. Оператор zip в Python
  45. Оптимизация памяти с __slots__
  46. Избегайте использования goto
  47. Исправление ошибки NameError
  48. Копирование объектов в Python
  49. Закрытие файла в Python

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