Сегодня вы создадите свою первую игру на питоне и узнаете, выдержите ли вы натиск врагов! К концу этого урока вы сможете создать игру «Выбери свое приключение».

Как обычно, если вы предпочитаете следовать плейлисту видео, нажмите здесь.
Если вы хотите получить доступ к заметкам курса, нажмите здесь.

Наконец, вот повторы с их заданиями:

Что вы узнаете:

  • Условные операторы
  • Операторы сравнения.
  • Оператор модуля.
  • Вложенные операторы if else.
  • утверждение «элиф».

Давайте посмотрим на наш готовый продукт на сегодня:

Условные утверждения.

Что такое условное выражение?

Ниже мы будем использовать некоторый псевдокод, чтобы продемонстрировать общую структуру условного оператора.

По сути, если условие выполняется, мы делаем это.

В противном случае (иначе) мы делаем это.

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

Вы также заметите, что после операторов if и else есть отступ. Это необходимо, и если это не включено, ваш код не будет работать.

Ваше базовое условное выражение выглядит примерно так:

if condition:
  do this
else:
  do that

Чтобы придать этому больше смысла, давайте представим, что вы решаете, следует ли вам съесть мороженое, и вы решаете, что если температура выше 25 градусов, вы должны съесть мороженое, а если ниже - нет.

Вы можете реализовать это решение:

temperature_c = 26

if temperature_c > 26:
  print('Eat some ice cream')
else:
  print('Do not eat ice cream')

Поскольку температура 26 градусов, мы можем есть мороженое.

Создайте своего собственного человека, принимающего решения.

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

Введите различные температуры непосредственно в файл main.py, чтобы протестировать свой код.

Используйте этот Replit, чтобы построить это, прежде чем проверять ответ ниже:

Надеюсь, вам удалось найти Replit и собрать программу без особых трудностей. Сравните свой ответ с ответом ниже.

temperature_c = 5
if temperature_c < 5:
  print('Drink some Hot Chocolate')
else:
  print('Do not drink some Hot Chocolate')

Ничего страшного, если ваш код выглядит немного иначе, но он должен вывести на консоль правильное выражение.

Создайте свой собственный механизм принятия решений с пользовательским вводом.

На данный момент мы сделали несколько очень статичных приложений, так что давайте возьмем пользовательский ввод и создадим что-то более осмысленное.

Используйте этот Replit, чтобы создать что-то, что позволит пользователю сообщить нам, какая температура, а приложение сообщит нам, подходит ли эта температура для еды мороженого или нет.

Вам предоставлена ​​первая строка, которая преобразует пользовательский ввод в целое число.

Сначала попробуйте сами, прежде чем смотреть ответ ниже:

temperature_c = int(input('What is the temperature?'))

if temperature_c > 26:
  print('Eat some ice cream')
else:
  print('Do not eat ice cream')

Замечательный! Вы могли принимать пользовательские данные и создавать различный контент на основе их ответов. Бьюсь об заклад, ваш разум, вероятно, думает обо всех возможностях.

Операторы сравнения.

Вот еще кое-что, что вам нужно знать:

Вам часто нужно использовать операторы сравнения в вашем коде. Они могут выглядеть так.

  • > Больше чем
  • ›= больше или равно
  • ‹= Меньше или равно
  • == равно
  • !+ не равно

Вы можете начать путаться, поскольку в математике одиночное = используется для обозначения равенства, тогда как в программировании мы используем одиночное = для присвоения чего-либо переменной. И мы используем double == в качестве оператора сравнения для обозначения равенства.

Модульный оператор.

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

Этот оператор находит остаток от вашего заданного числа. Например, если бы я использовал этот код:

print(6 % 2)

Консоль напечатает 0, потому что при делении 6 на 2 нет остатка.

Однако следующее напечатает 1:

print(7 % 2)

С вашими недавно полученными навыками создайте приложение, которое сообщает пользователю, есть ли у него нечетное или четное число, используя «% 2». Консоль должна вывести одно из следующих сообщений:

«Это четное число»

«Это нечетное число»

Вы можете использовать Повторить здесь, чтобы начать.

Вот ответ:

Как видите, вам не нужно явно писать условие для оператора else.

Вложенные операторы if else.

Иногда вам может понадобиться два условных оператора. Например, если погода жаркая и время суток, поскольку мы все знаем, что после 8 часов вечера нельзя есть мороженое или горячий шоколад.

Вот как может выглядеть ваш псевдокод:

if condition:
  if another condition:
    do this
  else:
    do this
else:
  do that

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

Взгляните на этот Replit, чтобы начать.

Вот ответ ниже:

Отличная работа! Теперь вы создали вложенный оператор if else и смогли реализовать его в своем Replit.

Элиф заявление.

Однако теперь вам нужно добавить еще один уровень. Если вам 11 лет или меньше, вы платите 4 фунта стерлингов, от 12 до 17 лет вы платите 7 фунтов стерлингов, а если вам 18 лет или старше, вы платите 9 фунтов стерлингов.

Вы можете реализовать это с помощью elif.

Это выглядит так:

if condition 1:
  do this
elif condition 2:
  do this
else: 
  do that

Попробуйте реализовать это в том же Replit, который вы использовали раньше.

Вот как теперь должен выглядеть ваш код:

Обратите внимание, что здесь важен порядок. Python напечатает первое утверждение, которое является истинным, поэтому, если бы мы поменяли местами операторы if и elif, независимо от того, является ли возраст 12 или 99 лет, консоль напечатала бы «Пожалуйста, заплатите 7GBP».

Логические операторы.

Есть три очень полезных логических оператора:

  • и
  • or
  • нет

При использовании оператора and. Оба условия с обеих сторон должны быть выполнены, чтобы эта строка была истинной.

При использовании оператора or. Только одно из двух условий с каждой стороны должно быть выполнено, чтобы линия была истинной.

При использовании не. Условие не должно быть выполнено, чтобы быть верным.

Посмотрите ниже для более наглядного примера:

a = 6

a > 4 and a < 7 #true
a > 4 and a < 5 #false
a > 4 or a > 100 #true 
not a > 4 # false, this reverses the condition

Теперь вы внедрите правило для американских горок, чем раздавать бесплатные билеты людям в возрасте 55–65 лет. Вы можете сделать это с помощью логических операторов и вложенных операторов if-else. Используйте свой предыдущий Replit, чтобы продолжать усложнять это задание.

Вы можете видеть, что в строке 7 все условия должны быть истинными, чтобы консоль напечатала «Это бесплатно».

if height >= 140:
    if age >= 18 and age >= 55 and age <= 65:
        print('It is free')
    elif age >= 18:
        print('Please pay 9GBP')
    elif age >= 11:
        print('Please page 7GBP')
    else:
        print('Please pay 4GBP')
else:
    print('You cannot ride this rollercoaster')

Поскольку Python интерпретирует код построчно, будет выполнено первое условие, которое будет выполнено, а остальная часть оператора if будет проигнорирована.

Приключенческая игра.

Пришло время использовать свои навыки для создания приключенческой игры. Для этого используйте Повторить здесь и помните, что вам нужно будет использовать операторы сравнения и вложенные операторы if-else.

При желании вы можете использовать логические операторы.

Вот один из возможных ответов:

Вы можете сыграть в эту игру здесь.

Искусство Ascii доступно из многих источников в Интернете. Вот — то, что я использовал.

Заключение.

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

  • Условные операторы
  • Операторы сравнения.
  • Оператор модуля.
  • Вложенные операторы if else.
  • утверждение «элиф».

Теперь вы сможете получать информацию о пользователях и делать с ней кое-что интересное, используя логические операторы и операторы сравнения.

Проверьте свои навыки, соорудив что-нибудь интересное. Может быть, калькулятор чаевых, нахальный калькулятор ИМТ или даже разработанная игра.

Спасибо за чтение этого руководства. Пожалуйста, рассмотрите возможность стать поклонником и подписаться на мой YouTube.