Примечание: … означает, что можно писать сколько угодно условий eilf.
Как это работает:
Когда исполняется инструкция if-elif-else, в первую очередь проверяется condition_1. Если условие истинно, тогда исполняется блок инструкций if. Следующие условия и инструкции пропускаются, и управление переходит к операторам вне if-elif-else.
Если condition_1 оказывается ложным, тогда управление переходит к следующему условию elif, и проверяется condition_2. Если оно истинно, тогда исполняются инструкции внутри первого блока elif. Последующие инструкции внутри этого блока пропускаются.
Этот процесс повторяется, пока не находится условие elif, которое оказывается истинным. Если такого нет, тогда исполняется блок else в самом конце.
Перепишем программу с помощью if-elif-else.
score = int(input("Введите вашу оценку: "))
if score >= 90:
print("Отлично! Ваша оценка А")
elif score >= 80:
print("Здорово! Ваша оценка - B")
elif score >= 70:
print("Хорошо! Ваша оценка - C")
elif score >= 60:
print("Ваша оценка - D. Стоит повторить материал.")
else:
print("Вы не сдали экзамен")
Первый вывод:
Введите вашу оценку: 78
Хорошо! Ваша оценка - C
Второй вывод:
Введите вашу оценку: 91
Отлично! Ваша оценка А
Третий вывод:
Введите вашу оценку: 55
Вы не сдали экзамен
Такую программу намного легче читать, чем в случае с вложенными if-else.
Литература: Осн. [5,6]
Контрольные вопросы:
Синтаксис оператора if
Оператор if-elif-else
Вложенные операторы if и if-else
Python. Лекция 8.
Тема: Операторы циклов for
Цель: Изучить операторы циклов for
План:
Оператор for
Функция range()
Функция enumerate()
Цикл for в языке программирования Python предназначен для перебора элементов структур данных и некоторых других объектов. Это не цикл со счетчиком, каковым является for во многих других языках.
Что значит перебор элементов? Например, у нас есть список, состоящий из ряда элементов. Сначала берем из него первый элемент, затем второй, потом третий и так далее. С каждым элементом мы выполняем одни и те же действия в теле for. Нам не надо извлекать элементы по их индексам и заботится, на каком из них список заканчивается, и следующая итерация бессмысленна. Цикл for сам переберет и определит конец.
>>> spisok = [10, 40, 20, 30]
>>> for element in spisok:
... print(element + 2)
...
12
42
22
32
После ключевого слова for используется переменная под именем element. Имя здесь может быть любым. Нередко используют i. На каждой итерации цикла for ей будет присвоен очередной элемент из списка spisok. Так при первой прокрутке цикла идентификатор element связан с числом 10, на второй – с числом 40, и так далее. Когда элементы в spisok заканчиваются, цикл for завершает свою работу.
С английского "for" переводится как "для", "in" как "в". Перевести конструкцию с языка программирования на человеческий можно так: для каждого элемента в списке делать следующее (то, что в теле цикла).
В примере мы увеличивали каждый элемент на 2 и выводили его на экран. При этом сам список конечно же не изменялся:
>>> spisok
[10, 40, 20, 30]
Нигде не шла речь о перезаписи его элементов, они просто извлекались и использовались. Однако бывает необходимо изменить сам список, например, изменить значение каждого элемента в нем или только определенных, удовлетворяющих определенному условию. И тут без переменной, обозначающей индекс элемента, в большинстве случаев не обойтись:
>>> i = 0
>>> for element in spisok:
... spisok[i] = element + 2
... i += 1
...
>>> spisok
[12, 42, 22, 32]
Но если мы вынуждены использовать счетчик, то выгода от использования цикла for не очевидна. Если знать длину списка, то почему бы не воспользоваться while. Длину можно измерить с помощью встроенной в Python функции len().
>>> i = 0
>>> while i < len(spisok):
... spisok[i] = spisok[i] + 2 # или spisok[i] += 2
... i = i + 1 # или i += 1
...
>>> spisok
[14, 44, 24, 34]
Кроме того, с циклом while мы избавились от переменной element.
Достарыңызбен бөлісу: |