Третий урок по Python // Закрепление пройденного
В прошлых уроках мы узнали что такое переменные, их типы, а также начали изучать условный оператор if/else. Постараемся закрепить полученные знания, написав несколько несложных программ.
Если вам нужно определить наличие какого-то слова или словосочетания в строке, можно использовать в условии ключевое слово IN. Допустим, у нас есть в виде строки список гостей, которых мы пригласили на какое-то мероприятие. Напишем программу, которая будет искать имя в этом списке, и если оно есть, пропускать гостей в ресторан.
s='Елена Малышева, Дмитрий Нагиев, Андрей Малахов, Иосиф Кобзон, Гарик Мартиросян'
x=input('Введите ваше имя: ')
if(x in s):
print('Добро пожаловать на праздник!')
else:
print('Извините, но вас нет в списке гостей')
В данном примере мы проверили наличие подстроки x в строке s, если она там есть, то условие выполняется, если нет - управление передается блоку команд после ELSE.
Давайте сделаем простейший текстовый квест - игру, где нужно делать выбор из нескольких вариантов развития событий.
print('Вы проснулись на космическом корабле, ничего не понимаете, ваши действия?')
x=input('Введите 1 чтобы связаться с Землёй, 2 чтобы осмотреть корабль')
if(x=='1'):
print('Земля не отвечает, в эфире помехи и чья-то ругань...')
y=input('Введите 1 чтобы подать сигнал SOS, 2 чтобы нажать большую красную кнопку на пульте')
if(y=='1'):
print('После долгого ожидания, ваш сигнал был услышан, и за вами послали команду спасения.')
else:
print('После нажатия кнопки на Землю была сброшена кварковая бомба, вы случайно уничтожили родную планету, и застрелились, поняв это.')
else:
print('Все каюты на корабле пусты, вы один, и не умеете управлять кораблём')
y=input('Введите 1 чтобы попробовать включить автопилот, 2 чтобы подать сигнал SOS')
if(y=='1'):
print('После включения автопилота, вы стартовали в неизвестном направлении, и вскоре умерли от голода, не обнаружив на борту ничего съестного.')
else:
print('После долгого ожидания, ваш сигнал был услышан, и за вами послали команду спасения.')
Можно делать такие текстовые квесты гораздо более интересными и сложными. Зная только условный оператор, мы написали с вами простейшую текстовую игру. Если эта программа кажется вам слишком сложной, постарайтесь вникнуть в неё, прочитав несколько раз, и проследив логику выбора того или иного действия. Здесь внутрь блоков действий одного условного оператора if/else вложено еще по одному оператору if/else, которые в свою очередь, задают собственные условия. Попробуйте скопировать пример в IDLE и поиграть в текстовый квест, вводя цифры 1 или 2 и нажимая Enter.
Если вам необходимо инвертировать ваше условие, используйте ключевое слово NOT. Например мы хотим чтобы человек ввёл число НЕ(NOT) больше 10.
x=int(input('Введите число'))
if(not(x>10)):
print('Всё верно, число НЕ больше десяти')
else:
print('К сожалению, ваше число больше десяти.')
И еще один пример по составлению сложного условия:
Если ( ( (машина=='есть') ИЛИ (деньги=='много') ) И (вы=='красивый') ):
print('Девушка с дискотеки будет ваша.')
Иначе:
print('Вам ничего не светит')
Переведем всё это условие на язык Python
if(((car==1) or (money>10000)) and (beauty==1)):
print('Девушка с дискотеки будет ваша.')
else:
print('Вам ничего не светит')
Попробуйте усложнить условие добавив каких-то факторов, например если девушка достаточно пьяна, или если вы хорошо танцуете и.т.д.
Домашнее задание (которое не является обязательным, но поможет вам закрепить знания)
- Сделайте программу которая вычисляет ваш идеальный вес, в зависимости от роста и возраста. Найдите формулу для вычисления идеального веса в гугле, и реализуйте условие для расчёта идеального веса.
- Составьте программу, которая проведёт несложный тест, один из психологических тестов, которых полно в женских журналах, и развлекательных сайтах. В зависимости от результатов вашего выбора, программа должны вынести какой-то вердикт на тему вашего характера.
- Сделайте более сложную текстовую игру с вашим сюжетом.
В следующем уроке мы изучим как работать со списками(массивами), а также поговорим о циклах for и while. Подписывайтесь на меня, будет еще много интересных уроков.