Чтобы попрактиковаться в работе с Python, необходимо выполнить упражнение. Если вы еще не настроили свою среду, прочтите это простое руководство перед тем, как приступить к этому упражнению.
Правила игры
Есть 2 игрока. У них 21 матч. В каждый свой ход игроки могут выбрать 1, 2 или 3 спички. Победитель выберет количество спичек, что означает, что у другого игрока останется одна спичка.
Чтобы проверить навыки, мы собираемся написать это 3 разными способами, каждый из которых немного усложняется.
Версия для двух игроков
- Создайте программу Python, которую можно запустить из командной строки/терминала
- Эта программа будет игрой для двух игроков.
- Он будет показывать подсказки каждый раз, когда кто-то выбирает количество совпадений.
- Он должен подтвердить, что пользователь выбрал допустимое количество совпадений. Если осталось 2 совпадения, а пользователь выбирает 3, он должен показать ошибку и попросить повторить попытку. Если пользователь попытается выбрать номер, отличный от 1, 2 или 3, он также должен показать ошибку.
- Он должен отображать уведомление, если кто-то выигрывает игру и выходит.
Версия для одного игрока
Есть алгоритм, который определяет, кто выиграет, а кто нет. Вы можете понять это? Вам нужно, чтобы вы могли создать компьютерную версию, которая всегда выигрывает.
- Скопируйте версию для двух игроков и вместо того, чтобы спрашивать второго игрока о его выборе, вы напишете функцию, которая действует как игрок и определяет подходящее количество матчей, чтобы он всегда выигрывал.
Компьютер идет первым
Включите его и дайте компьютеру сделать первый ход. Что происходит, когда он имеет первую трещину?
Новые правила и альтернативы
Давайте проявим творческий подход и подумаем о различных изменениях и о том, как мы можем взять концепцию 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
.