Питон хард. 8-3py_Хард. 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов
Скачать 5.26 Mb.
|
Датчик случайных чиселВещественные числа: from random import random, uniform x = random() # полуинтервал [0,1) y = 7*random() # полуинтервал [0,7) z = 7*random()+5 # полуинтервал [5,12) from random import uniform x = 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 = a a > 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 = a M = b полная форма условного оператора M = max(a, b) Решение в стиле Python: M = a if a > b else b Выбор наибольшего из двух чисел-2неполная форма ветвления начало M = a ввод a,b M = 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 = b b = c 4 6 ? 4 6 4 a b 3 2 1 c a, 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; } |