Главная страница

книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


Скачать 2.24 Mb.
НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Анкоркнига заданий пайтон
Дата02.10.2022
Размер2.24 Mb.
Формат файлаdocx
Имя файлакнига практических заданий, pyton.docx
ТипСборник упражнений
#709959
страница26 из 69
1   ...   22   23   24   25   26   27   28   29   ...   69

Упражнение 101. Случайный номерной знак


(45 строк) Представьте, что в вашем регионе устаревшим является формат номерных автомобильных знаков из трех букв, следом за которыми идут три цифры. Когда все номера такого шаблона закончились, было решено обновить формат, поставив в начало четыре цифры, а за ними три буквы.

Напишите функцию, которая будет генерировать случайный номерной знак. При этом номера в старом и новом форматах должны создаваться примерно с одинаковой вероятностью. В основной программе нужно сгенерировать и вывести на экран случайный номерной знак.

Упражнение 102. Проверка пароля на надежность


(Решено. 40 строк) В данном упражнении вам необходимо написать функцию, проверяющую введенный пароль на надежность. Определим как надежный пароль, состоящий минимум из восьми символов и включающий хотя бы по одной букве в верхнем и нижнем регистрах и как минимум одну цифру. Функция должна возвращать True, если переданный в качестве параметра пароль отвечает требованиям надежности. В противном случае возвращаемым значением должно быть False. В основной программе необходимо запросить у пользователя пароль и оповестить его о том, является ли он достаточно надежным. Программа должна запускаться только в том случае, если она не импортирована в виде модуля в другой файл.

Упражнение 103. Случайный надежный пароль


(22 строки) Используя решения из упражнений 100 и 102, напишите программу, генерирующую случайный надежный пароль и выводящую его на экран. Посчитайте, с какого раза удастся создать пароль, отвечающий нашим требованиям надежности, и выведите на экран количество попыток. Импортируйте функции из предыдущих упражнений и вызывайте их при необходимости для решения этой задачи.

Упражнение 104. Шестнадцатеричные и десятичные числа


(41 строка) Напишите две функции с именами hex2int и int2hex для конвертации значений из шестнадцатеричной системы счисления (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E и F) в десятичную (по основанию 10) и обратно. Функция hex2int должна принимать на вход строку с единственным символом в шестнадцатеричной системе и преобразовывать его в число от нуля до 15 в десятичной системе, тогда как функция int2hex будет выполнять обратное действие – принимать десятичное число из диапазона от 0 до 15 и возвращать шестнадцатеричный эквивалент. Обе функции должны принимать единственный параметр со входным значением и возвращать преобразованное число. Удостоверьтесь, что функция hex2int корректно обрабатывает буквы в верхнем и нижнем регистрах. Если введенное пользователем значение выходит за допустимые границы, вы должны вывести сообщение об ошибке.

Упражнение 105. Произвольные системы счисления


(Решено. 71 строка) Напишите программу, которая позволит пользователю преобразовывать числа из одной системы счисления в другую произвольным образом. Ваша программа должна поддерживать все системы счисления в диапазоне от 2 до 16 как для входных, так и для выходных данных. Если пользователь выберет систему с основанием, выходящим за границы допустимого, на экран должна быть выведена ошибка. Разделите код программы на несколько функций, включая функцию, конвертирующую число из произвольной системы счисления в десятичную, и обратную функцию, переводящую значение из десятичной системы в произвольную. В основной программе необходимо запросить у пользователя исходную систему счисления, целевую систему, а также число для преобразования. При выполнении данного упражнения вам могут пригодиться функции из заданий 81, 82 и 104.

Упражнение 106. Дни в месяце


(47 строк) Напишите функцию для определения количества дней в конкретном месяце. Ваша функция должна принимать два параметра: номер месяца в виде целого числа в диапазоне от 1 до 12 и год, состоящий из четырех цифр. Убедитесь, что функция корректно обрабатывает февраль високосного года. В основной программе запросите у пользователя номер месяца и год и отобразите на экране количество дней в указанном месяце. При решении этой задачи вам может пригодиться написанная вами функция из упражнения 58.

Упражнение 107. Максимальное сокращение дробей


(Решено. 46 строк) Напишите функцию, принимающую на вход два целочисленных параметра, представляющих числитель и знаменатель дроби. В теле функции должно выполняться максимально возможное сокращение дроби, а полученные в итоге числитель и знаменатель должны быть возвращены исходной программе. Например, если на вход функции передать числа 6 и 63, числитель и знаменатель итоговой дроби должны быть 2 и 21. В основной программе нужно запросить у пользователя числитель и знаменатель исходной дроби, передать их в функцию и вывести на экран результат.

Подсказка. В упражнении 79 вы писали функцию для определения наибольшего общего делителя для двух целых чисел. Воспользуйтесь ей в этом задании.
1   ...   22   23   24   25   26   27   28   29   ...   69


написать администратору сайта