Уроки Python 3 - Сложные условия

Уроки Python 3 - Сложные условия

В прошлых уроках мы узнали что такое переменные, их типы, а также начали изучать условный оператор 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('Вам ничего не светит')
Попробуйте усложнить условие добавив каких-то факторов, например если девушка достаточно пьяна, или если вы хорошо танцуете и.т.д. Домашнее задание (которое не является обязательным, но поможет вам закрепить знания) Сделайте программу которая вычисляет ваш идеальный вес, в зависимости от роста и возраста. Найдите формулу для вычисления идеального веса в гугле, и реализуйте условие для расчёта идеального веса. Составьте программу, которая проведёт несложный тест, один из психологических тестов, которых полно в женских журналах, и развлекательных сайтах. В зависимости от результатов вашего выбора, программа должны вынести какой-то вердикт на тему вашего характера. Сделайте более сложную текстовую игру с вашим сюжетом.

Уроки Python | Сложные условия Лого Pythono.ru Уроки Python 3 - Сложные условия