Чтобы попрактиковаться в работе с Python, необходимо выполнить упражнение. Если вы еще не настроили свою среду, прочтите это простое руководство перед тем, как приступить к этому упражнению.

Правила игры

Есть 2 игрока. У них 21 матч. В каждый свой ход игроки могут выбрать 1, 2 или 3 спички. Победитель выберет количество спичек, что означает, что у другого игрока останется одна спичка.

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

Версия для двух игроков

  1. Создайте программу Python, которую можно запустить из командной строки/терминала
  2. Эта программа будет игрой для двух игроков.
  3. Он будет показывать подсказки каждый раз, когда кто-то выбирает количество совпадений.
  4. Он должен подтвердить, что пользователь выбрал допустимое количество совпадений. Если осталось 2 совпадения, а пользователь выбирает 3, он должен показать ошибку и попросить повторить попытку. Если пользователь попытается выбрать номер, отличный от 1, 2 или 3, он также должен показать ошибку.
  5. Он должен отображать уведомление, если кто-то выигрывает игру и выходит.

Версия для одного игрока

Есть алгоритм, который определяет, кто выиграет, а кто нет. Вы можете понять это? Вам нужно, чтобы вы могли создать компьютерную версию, которая всегда выигрывает.

  1. Скопируйте версию для двух игроков и вместо того, чтобы спрашивать второго игрока о его выборе, вы напишете функцию, которая действует как игрок и определяет подходящее количество матчей, чтобы он всегда выигрывал.

Компьютер идет первым

Включите его и дайте компьютеру сделать первый ход. Что происходит, когда он имеет первую трещину?

Новые правила и альтернативы

Давайте проявим творческий подход и подумаем о различных изменениях и о том, как мы можем взять концепцию 21 матча и придать ей свой собственный смысл.

Концепции и навыки

Чтобы запрограммировать вышеперечисленное, вам нужно знать несколько вещей о Python, которых вы, возможно, не знали раньше.

Условные

Чтобы указать компьютеру следовать определенному пути выполнения, нам может понадобиться использовать условное выражение. С Python это if, elsif, else

Например, если у вас есть переменная foo и вы хотите напечатать bar, если переменная foo имеет значение «да», вы можете написать:

if foo is 'yes':
    print('bar')

Запомните две вещи: 1. Python использует двоеточие для обозначения другого блока кода и 2. Python любит вкладки, поэтому, когда вы находитесь в другом блоке кода, вам захочется использовать вкладки.

Пользовательский ввод

Возьмем простой пример: в Python 3 для получения пользовательского ввода вы сделаете следующее:

foo = input("What does the fox say?")

И то, что после этого пользователь введет в компьютер, будет содержаться в переменной foo.