Вы находитесь на странице: 1из 29

PYTHON
Логические операторы. Оператор условия
2

Логический тип данных

 Если результатом вычисления выражения является "истина"


или "ложь", то такое выражение называется логическим

 Логический тип: True (правда) — 1 и

False (ложь) — 0
3

Логические операторы

> (больше),
< (меньше),
>= (больше или равно),
<= (меньше или равно),
== (равно),
!= (не равно).
4

Пример
5

Сложные логические выражения

 Логические операторы: И (and) и ИЛИ (or)

 Чтобы получить истину (True) при использовании оператора and,


необходимо, чтобы результат всех выражений, которые
связывает данный оператор, были истинными. Если хотя бы в
одном случае результатом будет ложь (False), то и все сложное
выражение будет ложным.
 Чтобы получить истину (True) при использовании оператора or,
необходимо, чтобы результат хотя бы одного простого
выражения, входящего в состав сложного, был истинным. В
случае оператора or сложное выражение становится ложным
лишь тогда, когда ложны все составляющие его простые
выражения.
6

Задание

 Какой результат True/False получится у следующих


выражений
7

Примечание

Частой ошибкой у начинающих программистов является путаница


логических операторов and и or. Рассмотрим два условия:
if x > 1 and x < 100:
if x > 1 or x < 100:

Верным является только первое условие. В нём проверяется, что


число x находится в диапазоне от 1 до 100, другими словами,
x∈(1;100).

Второе условие проверяет, что число x или больше 1, или меньше


100. Однако такому условию удовлетворяет любое число!
8

Оператор условия if

 Оператор if позволяет осуществлять проверку и затем на


основании этой проверки выполнять операторы.
 Формат оператора if следующий:

 Обычно оператор if выполняет проверку, используя операторы


сравнения и логические операторы.
 Если результат проверки является истиной, if выполняет
оператор, который следует за ним
9

Пример
10

Синтаксис
 Для разделения синтаксических
конструкций используются
отступы от начала строки.
 if выполняется при
соблюдении условия, когда
должен обязательно иметь
отступ вправо.
 Остальной код («основная
программа») должен иметь тот
же отступ, что и сам if.
 Обычно отступ делается с
помощью клавиши Tab.
11

Блок-схема

Может быть множество


операторов
12

if–else
 Встречается и более сложная форма условия: if–else.

 Если условие при инструкции if оказывается ложным,


то выполняется блок кода при инструкции else.
13

Цепочки сравнений

 Операторы сравнения в Python можно объединять в


цепочки (в отличии от большинства других языков
программирования, где для этого нужно использовать
логические связки), например, a == b == c или 1 <= x <= 10
14

Задание

 Дано двухзначное число. Определите:


 Какая из цифр больше, первая или вторая
 Является ли сумма цифр однозначным числом
 Содержит ли число цифру 3

 Счастливым считается полученный в общественном транспорте билет, в


шестизначном номере которого сумма первых трёх цифр совпадает с суммой
трёх последних
Менее распространённый — если сумма чётных цифр билета равна сумме
нечётных цифр билета
Некоторые люди считают билет счастливым, если сумма его цифр является
квадратом.
15

Множественное ветвление
В отличии от использования
множества инструкций if,
инструкция if-elif-else
прекращает проверку
условий, как только найдет
первое
совпадение
16

Пример
17

Пример
Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести
одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).
18

Тернарный оператор

[on_true] if [условие] else [on_false]


a, b = 10, 20
min = a if a < b else b
print(min)

(if_test_false,if_test_true)[test]
min = (b, a) [a < b]
19

Задание

 Пользователь вводит два числа и математический оператор


(+,-,*,/) и программа выводит результат.
Проверьте, что делить на 0 нельзя

 Пользователь вводит три стороны треугольника и проверяет,


это треугольник? (треугольник возможен только тогда, когда
сумма любых двух сторон больше третьей стороны)
20

Задание
Даны три различных целых числа.
Напишите программу, которая Дан порядковый номер
находит среднее по величине число. месяца (1,2,…, 12). Напишите
программу, которая выводит на
экран количество дней в этом
месяце. Принять, что год
является невисокосным.
Примечание. Постарайтесь
написать программу, так чтобы в
ней было не более трех условий
if.
21

Задание
 Нужно вычислить BMI (Body Mass Index).
И́ндекс ма́ссы те́ла (англ. body mass index (BMI), ИМТ) — величина, позволяющая оценить
степень соответствия массы человека и его роста.(wikipedia)
Пользователь вводит рост в см и вес в кг. Распечатайте Индекс массы тела и к какой
классификации относится полученный индекс.
22

Задание

 Вычислите идеальный вес человека mid и индекс массы тела kind. В


зависимости от индекса выведите Какой вес у человека... см. таблицу

 l - рост (cм), m - вес (кг), t - возраст (в годах), gender - пол (m/n). Все
данные вводит пользователь с помощью input. Переменным присвойте
осмысленные имена.
23

Задание
 Создайте программу-тест для проверки знаний таблицы умножения.
С помощью случайных чисел создайте 5 примеров. При правильном ответе — на
экране пишется Правильно, при неправильном — Ошибка.
Также программа в зависимости от результата прохождения тест должна выставить
оценку: если количество правильных ответов=5, то Молодец; 3 или 4, то Надо бы
еще поучить; 2 и меньше — Срочно нужно учить таблицу умножения.
Подсказка. Для подсчета количества правильных ответов создается переменная,
которая увеличивается на 1, если ответ правильный
24

Задание

Напишите программу-игру Камень


Ножницы Бумага.

 Пользователь играет с компьютером.

 Пользователь вводит знак текстом и


компьютер случайным образом
выбирает из 3-х знаков.

 Программа определяет победителя.


25

Функции min() и max()

Для определения минимального или максимального значения


используются функции min() и max(). Аргументов у этих
функций может быть любое количество, главное, чтобы они все
были одного типа.

a = max(3, 8, -3, 12, 9)

b = min(3, 8, -3, 12, 9)

c = max(3.14, 2.17, 9.8)


26

Задание

 Напишите программу, которая упорядочивает три числа от


большего к меньшему.

 Назовем число интересным, если в нем разность


максимальной и минимальной цифры равняется средней
по величине цифре. Напишите программу, которая
определяет интересное число или нет.
27

Вопросы

???????
28


Спасибо за внимание
29

Источники

 http://pythonworld.ru/moduli/modul-math.html

 http://younglinux.info/python.php

Вам также может понравиться