Какое зарезервированное слово используется в изученном цикле в основной части без ветки else
Перейти к содержимому

Какое зарезервированное слово используется в изученном цикле в основной части без ветки else

  • автор:

Ветвление¶

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

login = input("Логин: ") password = input("Пароль: ") if len(login) > 6 and len(password) > 8: print("Приветствуем!") else: print("Введите данные полностью") 

Здесь мы просим пользователя ввести свой логин и пароль. Пока что ограничимся простой проверкой — если длина логина больше шести символов и вместе с этим длина пароля больше восьми, мы его приветствуем.

Здесь есть сразу несколько новых вещей, во первых это len , во вторых это главное за чем мы здесь собрались — конструкция ветвления.

Возвращает длину переданной строки:

word = "Condition" word_length = len(word) print(word_length) 

Условный оператор¶

Условный оператор позволяет выполнить какое-либо действие если выполняется условие. В результате проверки порождается особый тип данных bool булевый. Данный тип способен принимать всего 2 значения — истина и ложь.

>>> 20 > 15 True >>> 20  15 False 

Оператор if проверяет условие и если оно истинно, выполняет действие:

price = 32.5 cash = 50 if cash > price: print("Вам хватит денег для покупки") 

Блок else выполняется в том случае, если результат проверки оказался ложным:

your_age = int(input("Введите ваш возраст: ")) required_age = 18 if your_age  required_age: print("Вы слишком юны для вождения автомобиля") else: print("Вы можете водить автомобиль") 

Блок elif выполняется если предыдущая проверка не увенчалась успехом, но есть ещё другие варианты проверок. В данной программе предлагается ввести имеющееся у вас количество денег чтобы узнать что стоит покупать:

cash = int(input("Введите имеющееся количество денег: ")) if cash > 100: print("Купить шоколадку") elif cash > 50: print("Купить чипсы") else: print("Не брать ничего") 

Здесь программа просит вас ввести ваш возраст возраст и говорит, можно ли вам водить автомобиль. Когда введёте число, будет произведена проверка — если ваш возраст меньше 18, результат будет истина и тогда выполнится код, написанный внутри блока if . Если же вы ввели число 18 или больше, то в результате проверки получится ложь и тогда выполнится код внутри блока else .

Объединение проверок¶

Если мы с вами хотим проверить несколько вещей и на их основе выполнить действие, то нам придётся использовать 2 ключевых слова: and и or . Они позволяют объединить результаты нескольких проверок вместе. Например, если пользователь вводит или свою почту или номер телефона, он будет получать уведомления с новостями:

email = input("Введите электронную почту: ") phone = input("Введите номер телефона:") if len(email) > 8 or len(phone) > 10: print("Мы уведомим вас о наших обновлениях") else: print("Мы не сможем уведомить вас, поскольку не знаем ваших данных") 

Логическое «И» (конъюнкция, логическое умножение)

Python. Урок 5. Условные операторы и циклы

Follow us on Google Plus Follow us on rss

В этом уроке рассмотрим оператор ветвления if и операторы цикла while и for. Основная цель – это дать общее представление об этих операторах и на простых примерах показать базовые принципы работы с ними.

Условный оператор ветвления if

Оператор ветвления if позволяет выполнить определенный набор инструкций в зависимости от некоторого условия. Возможны следующие варианты использования.

1. Конструкция if

Синтаксис оператора if выглядит так.

if выражение: инструкция_1 инструкция_2 . инструкция_n

После оператора if записывается выражение. Если это выражение истинно, то выполняются инструкции, определяемые данным оператором. Выражение является истинным, если его результатом является число не равное нулю, непустой объект, либо логическое True. После выражения нужно поставить двоеточие “:”.

ВАЖНО: блок кода, который необходимо выполнить, в случае истинности выражения, отделяется четырьмя пробелами слева!

if 1: print("hello 1")

Напечатает: hello 1

a = 3 if a == 3: print("hello 2")

Напечатает: hello 2

a = 3 if a > 1: print("hello 3")

Напечатает: hello 3

lst = [1, 2, 3] if lst : print("hello 4")

Напечатает: hello 4

2. Конструкция if – else

Бывают случаи, когда необходимо предусмотреть альтернативный вариант выполнения программы. Т.е. при истинном условии нужно выполнить один набор инструкций, при ложном – другой. Для этого используется конструкция if – else.

if выражение: инструкция_1 инструкция_2 . инструкция_n else: инструкция_a инструкция_b . инструкция_x
a = 3 if a > 2: print("H") else: print("L")
a = 1 if a > 2: print("H") else: print("L")

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

a = 17 b = True if a > 10 else False print(b)

В результате выполнения такого кода будет напечатано: True

3. Конструкция if – elif – else

Для реализации выбора из нескольких альтернатив можно использовать конструкцию if – elif – else.

if выражение_1: инструкции_(блок_1) elif выражение_2: инструкции_(блок_2) elif выражение_3: инструкции_(блок_3) else: инструкции_(блок_4)
a = int(input("введите число:")) if a  0: print("Neg") elif a == 0: print("Zero") else: print("Pos")

Если пользователь введет число меньше нуля, то будет напечатано “Neg“, равное нулю – “Zero“, большее нуля – “Pos“.

Оператор цикла while

Оператор цикла while выполняет указанный набор инструкций до тех пор, пока условие цикла истинно. Истинность условия определяется также как и в операторе if. Синтаксис оператора while выглядит так.

while выражение: инструкция_1 инструкция_2 . инструкция_n

Выполняемый набор инструкций называется телом цикла.

a = 0 while a  7: print("A") a += 1 

Буква “А” будет выведена семь раз в столбик.

Пример бесконечного цикла.

a = 0 while a == 0: print("A")

Операторы break и continue

При работе с циклами используются операторы break и continue.

Оператор break предназначен для досрочного прерывания работы цикла while.

a = 0 while a >= 0: if a == 7: break a += 1 print("A")

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

Оператор continue запускает цикл заново, при этом код, расположенный после данного оператора, не выполняется.

a = -1 while a  10: a += 1 if a >= 7: continue print("A")

При запуске данного кода символ “А” будет напечатан 7 раз, несмотря на то, что всего будет выполнено 11 проходов цикла.

Оператор цикла for

Оператор for выполняет указанный набор инструкций заданное количество раз, которое определяется количеством элементов в наборе.

for i in range(5): print("Hello")

В результате “Hello” будет выведено пять раз.

Внутри тела цикла можно использовать операторы break и continue, принцип работы их точно такой же как и в операторе while.

Если у вас есть заданный список, и вы хотите выполнить над каждым элементом определенную операцию (возвести в квадрат и напечатать получившееся число), то с помощью for такая задача решается так.

lst = [1, 3, 5, 7, 9] for i in lst: print(i ** 2)

Также можно пройти по всем буквам в строке.

word_str = "Hello, world!" for l in word_str: print(l)

Строка “Hello, world!” будет напечатана в столбик.

На этом закончим краткий обзор операторов ветвления и цикла.

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

Раздел: Python Уроки по Python Метки: Python, Уроки Python

Python. Урок 5. Условные операторы и циклы : 41 комментарий

  1. Ирина 23.09.2017 Подскажите, пожалуйста, что делать, если знаки” == “и “!=” не выделяются отдельным цветом и, соответственно, не дают никакого результата?
  1. writer Автор записи 24.09.2017 Приведите пример код пожалуйста!
  1. vitek 29.07.2018 print(“0 == False”)
  1. Максим 06.08.2018 Если верно понимаю, Вы не правильно записываете команду
    Получается так, что Вы говорите программе, чтобы она описала строчное значение, указанное в “”
    В данным случае, Вам нужно применить оператор if и написать:
    if name == “0”:
    print (“False”) Таким образом вы даете программе условие, что: если переменная равна значению “0” (строчному значению)
    то выводи False
  1. writer 04.12.2018 Можно вот так:
    >>> name=[“Иван”, “ваня”, “ванюша”]
    >>> if “Иван” in name:
    print(“hello!”) hello!
  1. rrrrr 21.10.2019 nope
  1. Илья 25.05.2020 def find_NOK(number1, number2):
    if number1 < number2:
    number1, number2 = number2, number1
    for x in range(number2):
    if number1*(x+1)%number2 == 0:
    return number1*(x+1)
    return number1*number2 a, b = map (int, input().split(‘, ‘))
    print(find_NOK(a, b))
  1. writer 06.10.2019 Это l – от слова letter – буква. Хотя сейчас бы я поставил символ ‘c’ вместо нее.
  1. Айдар 09.02.2020 Решил проблему сам
  1. Jam 13.07.2020 Функция range генерирует все числа указанные в диапазоне не включая последнее.
    Поэтому:
    range(1, max(a) + 1)
  1. Надыр 30.08.2020 Там f==5

Ветвление и условные операторы Python для начинающих

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

В случае, если мы хотим сделать что-то, только если выполняется какое-либо условие, нам придется использовать оператор if .

Проще всего будет показать, как этот оператор работает на примере. Для этого попробуем написать программу «Угадай число». Если вы начинающий программист, обязательно попробуйте именно написать эту программу, чтобы прочувствовать на практике, как это работает. Компьютер выбирает случайное число, игрок пытается угадать, программа сообщает пользователю, верен ли его ответ.

import random
num = random.randint(1,10)
guess = int(input('Введите число от 1 до 10: '))
if guess == num :
print('Угадали!')

Синтаксис оператора if прост — сначала надо написать ключевое слово if , после него — условие, а в самом конце строки должно быть двоеточие.

Все строки кода, которые должны выполнится при срабатывании условия, должны быть написаны с отступом в четыре пробела относительно ключевого слова if . По отступам Python понимает, что эти строки относятся именно к if , и выполнит их только если условие будет истинным. В нашем примере, вывод строки «Угадали!» будет выполнен только если пользователь введет правильное число.

Да, про модули мы поговорим позже, но, как вы уже возможно догадались, random.randint возвращает случайное число, а строка import random загружает модуль для работы со случайными числами в нашу программу. Список того, что может этот модуль можно посмотреть вот на этой странице. Сейчас мы, однако, говорим об условиях и поэтому продолжим:

import random
num = random.randint(1,10)
guess = int(input('Введите число от 1 до 10: '))
if guess == num :
print('Угадали!')
else:
print('Извините, было загадано число ', num)

Мы добавили оператор else , который отвечает за то, чтобы выполнить какой-либо код в том случае, если не сработает оператор if . Связку этих двух операторов можно прочитать как «если какое-то условие верно, выполнить такой-то код, иначе — выполнить какой-то другой код».

Кроме операторов if и else в одной связке можно использовать оператор elif . Он пригодится, если нужно что-то посложнее реакции на верное или неверное условие. Например, нашу игру «Угадай число» можно дополнить еще двумя условиями проверки выхода введенного числа за допустимые границы:

import random
num = random.randint(1,10)
guess = int(input('Введите число от 1 до 10: '))
if guess == num :
print('Угадали!')
elif guess > 10:
print('Число не может быть больше 10')
elif guess &lt; 1:
print('Число не может быть меньше 10')
else:
print('Извините, было загадано число ', num)

Хотите выучить Python на практике?

Условные операторы

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

Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.

Блок схема оператора if-else и case

Оператор if-else

Когда выполнение основной ветки программы доходит до условного оператора if-else , то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true , то выполняется один блок (в Паскале начинается со слова then ), если false – то другой (начинается со слова else ). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.

Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:

var n: integer; begin write ('Введите целое число: '); readln (n); if n mod 2 = 0 then write ('Оно четное.') else write ('Оно нечетное.'); end.

Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только, когда логическое выражение в заголовке возвращает true . В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.

В примере ниже, если переменная имеет значение меньше нуля, то ее значение изменяется (находится модуль числа). Если же значение переменной изначально больше нуля, то блок кода при операторе if вообще не выполняется, т.к. не соблюдено условие ( n < 0 ).

var n: integer; begin write ('Введите целое число: '); readln (n); if n < 0 then n := abs (n); write (n); end.

В качестве условия может стоять любое выражение, результатом вычисления которого является одно из булевых значений — true или false .

Непосредственно после then может стоять только один оператор. При необходимости выполнения нескольких операторов они должны быть заключены в операторные скобки begin-end . Пример программы, которая меняет значения переменных местами, только если эти значения различны. Блок if содержит четыре выражения, поэтому заключен в begin-end .

var a,b,c: integer; begin write('a='); readln(a); write('b='); readln(b); if a <> b then begin c := a; a := b; b := c; writeln('a=',a,'; b=',b); end else writeln('Введены одинаковые числа'); end.

Допустимо вложение одного оператора if (или if-else ) в другой. При этом следует соблюдать осторожность, так как бывает трудно определить, какому if (внешнему или внутреннему) принадлежит ветка else . Рекомендуют использовать вложенную конструкцию if , только в ветке else . К тому же в языке Паскаль действует следующее правило: каждому then соответствует ближайшее else , не задействованное при установлении соответствия с другим then . Глубина вложенности операторов if может быть сколь угодно большой, но разобраться в таком коде будет очень сложно.

Оператор case (оператор выбора)

Кроме оператора if в языке программирования Паскаль предусмотрен так называемый переключатель case . Его можно трактовать как некий вопрос, имеющий большое число ответов (а не только два, как это имеет место в операторе if-else ). Однако в отличие от if, case имеет ряд принципиальных ограничений. Его формат следующий:

case селектор of значение1: оператор1; значение2: оператор2; значение3: оператор3; . else операторN end;

В заголовке оператора case вместо логического выражения фигурирует переменная, которую называют селектором. До этого в программе ей присваивается какое-либо значение. Эта переменная может иметь только перечисляемый тип (например, она не может быть вещественного типа). По ходу выполнения оператора case , значение переменной-селектора сравнивается с различными описанными в нем альтернативами (метками-значениями). Как только совпадение будет найдено, то выполняется блок кода при данной метке и происходит выход в основную ветку программы. Значения-метки являются константами, которые может принимать селектор. Их тип и тип селектора должны быть совместимы по присваиванию.

Если совпадений не будет, то выполняется блок else . Если блок else отсутствует (он является не обязательным), то никакой блок кода в операторе case не выполняется.

var n: integer; begin write ('Введите класс школы: '); readln (n); case n of 1..4: writeln ('Младшие классы.'); 5..8: writeln ('Средняя школа.'); 9,11: writeln ('Старшие классы. Выпускной.'); 10: writeln ('Старшие классы.'); else writeln ('Error') end; end.

На использование оператора выбора накладываются следующие ограничения:

  • селектор должен иметь какой-либо порядковый тип;
  • каждая альтернатива должна быть константой, диапазоном, списком диапазонов, но не переменной или выражением.

Добавить комментарий

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