Материал: 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Датчик случайных чисел

Вещественные числа: from random import random, uniformx = random() # полуинтервал [0,1)y = 7*random() # полуинтервал [0,7)z = 7*random()+5 # полуинтервал [5,12)from random import uniformx = uniform(1.5, 2.8) # [1,5; 2,8]y = uniform(5.25, 12.75) # [5,25; 12,75]Вещественные числа на отрезке [a, b]:

Задачи

«A»: В игре «Русское лото» из мешка случайным образом выбираются бочонки, на каждом из которых написано число от 1 до 90. Напишите программу, которая выводит наугад первые 5 выигрышных номеров.«B»: + Доработайте программу «Русское лото» так, чтобы все 5 значений гарантированно были бы разными (используйте разные диапазоны).

Задачи

«С»: + Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется целое число, программа должна найти его квадрат.Пример: Выпало очков: 1 2 3 Число 123 Его квадрат 15129

Задачи

«D»: + Получить случайное трёхзначное число и вывести в столбик его отдельные цифры.Пример: Получено число 123 сотни: 1 десятки: 2 единицы: 3 § 19. Ветвления

Выбор наибольшего из двух чисел

Задача: изменить порядок действий в зависимости от выполнения некоторого условия.M = aa > b?M = b да нетвывод M полная форма ветвления Если a = b? ?if a > b: M = a else: M = b отступы

Вариант 1. Программа

print("Введите два целых числа")a = int(input())b = int(input()) if a > b: else: print("Наибольшее число", M)M = aM = b полная форма условного оператораM = max(a, b)Решение в стиле Python:
M = a if a > b else b

Выбор наибольшего из двух чисел-2

неполная форма ветвления началоM = a ввод a,bM = b конец да нетb > a? вывод M

Вариант 2. Программа

print("Введите два целых числа")a = int(input())b = int(input())M = a if b > a: print("Наибольшее число", M)M = b неполная форма условного оператора

Примеры

if a < b: M = a if b < a: M = b Что плохо? ? Когда работает неверно? ?Поиск минимального:

Примеры

if a < b: c = a a = b b = c Что делает эта программа? ? В чём отличие? ?if a < b: c = a a = bb = c46?464ab 3 2 1ca, b = b, aРешение в стиле Python: if a < b then begin c:= a; a:= b; b:= c;end;Паскаль:С:if (a < b) { c = a; a = b; b = c; }

Знаки отношений

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

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

if a > b: print("Андрей старше") else: if a == b: print("Одного возраста")else: print("Борис старше") вложенный условный оператор Зачем нужен? ?Задача: в переменных a и b записаны возрасты Андрея и Бориса. Кто из них старше? Сколько вариантов? ?

Каскадное ветвление

if a > b: print("Андрей старше") elif a == b: print("Одного возраста")else: print("Борис старше") elif = else if !

Каскадное ветвление

cost = 1500if cost < 1000: print ( "Скидок нет." )elif cost < 2000: print ( "Скидка 2%." )elif cost < 5000: print ( "Скидка 5%." )else: print ( "Скидка 10%." ) Что выведет? ? первое сработавшее условиеСкидка 2%.

Задачи (без функций min и max!)

«A»: Ввести два целых числа, найти наибольшее и наименьшее из них. Пример:__Введите_четыре_целых_числа:__1_5_4_3__Наибольшее_число_5___Задачи'>Пример:Введите два целых числа:1 5Наибольшее число 5Наименьшее число 1«B»: Ввести четыре целых числа, найти наибольшее из них. Пример:Введите четыре целых числа:1 5 4 3Наибольшее число 5

Задачи

«C»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример:Возраст Антона: 15 Возраст Бориса: 17 Возраст Виктора: 16 Ответ: Борис старше всех.Пример:Возраст Антона: 17 Возраст Бориса: 17 Возраст Виктора: 16
Ответ: Антон и Борис старше Виктора.

Сложные условия

Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит").Особенность: надо проверить, выполняются ли два условия одновременно: возраст  25 возраст  40 Можно ли решить известными методами? ?

Плохое решение

print("Введите ваш возраст")x = int(input())if x >= 25: if x <= 40: print("Подходит!") else: print("Не подходит.")else: print("Не подходит.") вложенный условный оператор

Хорошее решение (операция «И»)

if : print("подходит")else: print("не подходит")andv >= 25 and v <= 40 сложное условие «И»: одновременное выполнение всех условий! Задача: набор сотрудников в возрасте 25-40 лет (включительно).

Примеры

Задача. Вывести "Да", если число в переменной a – двузначное.if 10 <= a and a <= 99: print("Да")Задача. Вывести "Да", если число в переменной a – двузначное и делится на 7.if 10 <= a and a <= 99 and (a % 7)==0: print("Да")

Сложные условия: «ИЛИ»

Задача. Самолёт летает по понедельникам и четвергам. Ввести номер дня недели и определить, летает ли в этот день самолёт.Особенность: надо проверить, выполняется ли одно из двух условий: день = 1 день = 4if d == 1 or d == 4 : print("Летает")else: print("Не летает") сложное условиеd == 1 or d == 4 or «ИЛИ»: выполнение хотя бы одного из двух условий!

Ещё пример

Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит"). Использовать «ИЛИ».if : print("не подходит")else: print("подходит")v < 25 or v > 40

Сложные условия: «НЕ»

if not(a < b): print("Cтарт!")not «НЕ»: если выполняется обратное условиеif a >= b: print("Cтарт!") Как без «НЕ»? ?

Простые и сложные условия

Простые условия (отношения) < <= > >= == !=Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:
    and – одновременное выполнение условий
    x >= 25 and x <= 40
    or – выполнение хотя бы одного из условий
    x <= 25 or x >= 40
    not – отрицание, обратное условие
    not (x > 25)  ???

равно не равноx <= 25
    выражения в скобках
    <, <=, >, >=, =, !=
    not
    and
    or

1
    if not a > 2 or c != 5 and b < a:
    ...

42356

Сложные условия

Истинно или ложно при a = 2; b = 3; c = 4
    not (a > b)
    a < b and b < c
    a > c or b > c
    a < b and b > c
    a > c and b > d
    not (a >= b) or c = d
    a >= b or not (c < b)
    a > c or b > c or b > a

Да Да
Источник: https://files.student-it.ru/previewfile/258784