Вложенный и каскадный условный оператор. Поколение Python: курс для начинающих. Урок 5

Содержание

Слайд 2

Условный оператор Если условие истинно, то выполняется блок кода 1 Если

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

Если условие истинно, то выполняется блок кода 1
Если условие ложно,

то выполняется блок кода 2

Для блока кода используется отступ в 4 пробела

if условие:
блок кода1
else:
блок кода2

else является необязательным

if условие:
блок кода1

Слайд 3

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

Вложенный условный оператор

Внутри условного оператора можно использовать любые инструкции языка Python,

в том числе и условный оператор
Получаем вложенное ветвление – после одной развилки появляется другая развилка:

Вложенные блоки имеют больший размер отступа (8, 12, ... пробелов)

if условие1:
блок кода
else:
if условие2:
блок кода
else:
if условие3:
блок кода
...

Слайд 4

Вложенный условный оператор Рассмотрим программу которая переводит стобальную оценку в пятибальную:

Вложенный условный оператор

Рассмотрим программу которая переводит стобальную оценку в пятибальную:

grade =

int(input())
if grade >= 90:
print(5)
else:
if grade >= 80:
print(4)
else:
if grade >= 70:
print(3):
else:
if grade >= 60:
print(2):
else:
print(1)

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

Слайд 5

Каскадный условный оператор Если требуется проверить несколько условий, в языке Python

Каскадный условный оператор

Если требуется проверить несколько условий, в языке Python есть

каскадный условный оператор:

if условие1:
блок кода1
elif условие2:
блок кода2
elif условие3:
блок кода3
...
else:
блок кода

Сначала проверяется условие1:
Если оно истинно, то выполняется блок кода1
Если оно ложно, то переходим к условию2
Проверяется условие2:
Если оно истинно, то выполняется блок кода2
Если оно ложно, то переходим к условию3
………...
Процесс продолжается до тех пор, пока не будет найдено истинное условие, либо пока не закончатся выражения elif
Если ни одно условие не является истинным, то выполняется блок кода после else

Слайд 6

Каскадный VS вложенный оператор grade = int(input()) if grade >= 90:

Каскадный VS вложенный оператор

grade = int(input())
if grade >= 90:
print(5)
elif grade

>= 80:
print(4)
elif grade >= 70:
print(3):
elif grade >= 60:
print(2):
else:
print(1)

if, elif, else выровнены и все исполняемые по условию блоки выделены отступом (4 пробела)

grade = int(input())
if grade >= 90:
print(5)
else:
if grade >= 80:
print(4)
else:
if grade >= 70:
print(3):
else:
if grade >= 60:
print(2):
else:
print(1)

Слайд 7

Примечания Каскадный оператор if-elif-else может быть запрограммирован вложенными операторами if-else Каскадный

Примечания

Каскадный оператор if-elif-else может быть запрограммирован вложенными операторами if-else
Каскадный оператор if-elif-else

обычно легче, чем длинная серия вложенных операторов if-else
Заключительный блок else в каскадном операторе if-elif-else является необязательным!
Слайд 8

Задача Даны три целых числа. Определите, сколько среди них совпадающих. Программа

Задача

Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна

вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).
Слайд 9

Задача a = int(input()) b = int(input()) c = int(input()) if

Задача

a = int(input())
b = int(input())
c = int(input())
if a == b ==

c:
print(3)
elif a == b != c:
print(2)
elif a != b == c:
print(2)
elif a == c != b:
print(2)
else:
print(0)

a = int(input())
b = int(input())
c = int(input())
if a == b:
if b == c:
print(3)
else:
print(2)
else:
if a == c:
print(2)
else:
if b == c:
print(2)
else:
print(0)