1 of 14

Python для школьников

Занятие 2. «Логический тип данных. Условный оператор в Python»

Паньгина Н.Н. 2019

2 of 14

Булевский тип данных в Python

  • Объект типа bool (от англ. boolean — логическое значение) принимает одно из двух значений — True (истина) или False (ложь). �Обратите внимание: True и False записываются с большой буквы.
  • Переменные типа bool используются для хранения значение типа «да/нет», «является/�не является», «случилось/не случилось» и т.п.
  • Операции сравнения возвращают результат типа bool. Например, 3 > 5 возвращает False, �а 3 < 5 — True.

3 of 14

Операции сравнения в Python

  • == равно
  • != не равно
  • > больше
  • < меньше
  • >= больше или равно
  • <= меньше или равно
  • Пример 1:�Входные данные: print (2018 == 2019 )Выходные данные: False
  • Пример 2:�Входные данные: print (2018 != 2019 )Выходные данные: True
  • Пример 3:�Входные данные: print (2018 >= 2019 )Выходные данные: False
  • Задание 1:�Входные данные: a = -219

print (a > 0 ) Выходные данные:

  • Задание 2:�Входные данные: a = 10

print (10 <=a < 100 ) Выходные данные:

  • Задание 3:�Входные данные: a = 18

print (a % 2 == 0 ) Выходные данные:

  • Задание 4:�Входные данные: a = -315

print (a % 5 != 0 ) Выходные данные:

False

True

False

True

4 of 14

Закрепление пройденного

(для самостоятельного выполнения)

  • Вводится число А. Проверить истинность высказывания: «Число А является положительным» �Пример:

Входные данные: Выходные данные: �876 True

0 False

  • Вводится целое число. Проверить истинность высказывания: «Число А является двузначным» �Пример:�Входные данные: Выходные данные: �73 True

120 False

  • Вводятся два числа. Проверить истинность высказывания: «Числа одного знака» �Пример:

Входные данные: Выходные данные: �-5 -6 True

2 -6 False

  • Вводятся три числа А, В и С. Проверить истинность высказывания: «Число В больше А и меньше С» �Пример:�Входные данные: Выходные данные: �73 80 100 True

120 50 80 False

5 of 14

Логические операции в Python

  • not A — логическое "не" (отрицание). Истинно, если А ложно; и ложно, если А истинно.
  • A and B — логическое "и" (конъюнкция). Истинно тогда и только тогда, когда истинны A и B.
  • A or B — логическое "или" (дизъюнкция). Истинно, если хотя бы одно из А или B истинно.
  • A ^ B — исключающее "или" (XOR). Истинно тогда и только тогда, когда истинен ровно один из аргументов.
  • Пример 1:�Входные данные: �a = 10

print (a>10 and a<100)Выходные данные: False

  • Пример 2:�Входные данные: �x1, x2, x3 = False, True, False

print (not x1 or x2 and x3)

Выходные данные: True

  • Задание 1:�Входные данные: �a = -10; b = 20

print (a>0 or b>0)Выходные данные:

  • Задание 2:�Входные данные: �x1, x2, x3 = False, True, False

print (((not x1) or x2) and x3)

Выходные данные:

True

False

6 of 14

Неполный условный оператор в Python

  • Задача 1. Мама дала Пете X руб., а он потратил Y руб. Если деньги остались, вывести, сколько.
  • Задача 2. В одном магазине конфеты стоят X руб., а в другом Y руб. Вывести наименьшую стоимость.
  • Задача 3. Вводятся три числа. Вывести наибольшее.

7 of 14

Полный условный оператор в Python

  • Задача 1. Запрашивается ввод пароля (например, «12345»). Если введен неверно, вывести «Вход воспрещен!», иначе «Войдите!»
  • Задача 2. Даны две различные клетки шахматной доски (четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для 1-й клетки, потом для 2-й клетки). Определите, может ли ладья попасть с первой клетки на вторую одним ходом. Программа должна вывести YES, если можно или NO в противном случае.

8 of 14

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

  • Задача. По данным ненулевым числам x и y определить, в какой из четвертей координатной плоскости находится точка с координатами (x, y).

Входные данные: 10 -10

Выходные данные: 4-я четверть

9 of 14

Задачи на условия

  • Вводятся три числа. Вывести наименьшее из них.

Входные данные: 2 0 8

Выходные данные: 0

  • Вводятся координаты точки на плоскости. Вывести, лежит ли на какой координатной оси данная точка. Ответ: «ОХ», «ОY» или «нет».

Входные данные: 10 0

Выходные данные: ОХ

  • Напишите программу решения линейного уравнения ax+b =0. Учесть, что a и b могут принимать любые целые значения.
  • По введенным координатам двух полей шахматной доски (числа от 1 до 8) определите, угрожает ли ферзь, стоящий на одном из полей, другому полю. Вывести «да» или «нет».�Входные данные: 1 1 8 2

Выходные данные: нет

  • Вводится целое положительное число (номер года). Определить, является ли он високосным (должен делиться на 4, за исключением тех лет, которые делятся на 100, но не делятся на 400). Ответ: «да» или «нет»�Входные данные: 1900

Выходные данные: нет

  • Вводится целое число. Вывести характеристики данного числа: оно положительное, отрицательное или нулевое; четное или нечетное. Например, если вводится число �«-25», то вывести строку «число -25 отрицательное нечетное».

10 of 14

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

  • Вводятся года рождения Саши и Маши. Вывести их возраст и кто старше.�Входные данные:

2008 2010 Выходные данные:�Саша -10 старше Маши - 8

  • Вводится температура тела. Вывести верные сообщения «Здоров», «Болен», «Слабость», «Умер».

Входные данные:

35.5 �Выходные данные: �Слабость

11 of 14

Задачи на условия (усложненные)

  • Вводится целое число от 1 до 7. Вывести название дня недели.�Входные данные: 1

Выходные данные: понедельник

  • Вводится возраст человека от 1 до 100. Вывести вместе с числом соответствующее слово («год», «года», «лет»).

Входные данные: 33 15

Выходные данные: 33 года 15 лет

  • Вводится целое число от 1 до 12. Вывести название времени года, соответствующее данному месяцу.

Например, если 11, то «осень».

  • По введенным координатам двух полей шахматной доски (числа от 1 до 8) определите, угрожает ли ферзь, стоящий на одном из полей, другому полю. Вывести «да» или «нет».�Входные данные: 1 1 8 2

Выходные данные: нет

  • Вводятся длины трех сторон треугольника. Вывести вид треугольника: равносторонний, равнобедренный, обычный или не существует.

Входные данные: 2 2 3

Выходные данные: равнобедренный

  • Напишите программу решения в действительных числах квадратного уравнения ax2+bx+c = 0. Учесть, что �a, b и c могут принимать любые целые значения. Значения корней вывести с двумя знаками после десятичной точки.

12 of 14

Дистанционная подготовка

13 of 14

Ссылки на PYTHON

  • http://ict.loiro.ru

  • http://informatics.msk.ru

  • http://pythontutor.ru/

 

14 of 14

СПАСИБО ЗА ВНИМАНИЕ!

Паньгина Нина Николаевна

E-mail: nina_pangina@mail.ru