From c3e47892f8a62e62452c38767d0954420e649ff7 Mon Sep 17 00:00:00 2001 From: GAS53 <45990653+GAS53@users.noreply.github.com> Date: Thu, 30 Sep 2021 21:23:38 +0300 Subject: [PATCH] lesson 1 --- dz_1.py | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ dz_2.py | 45 ++++++++++++++++++++++++++++++++++ dz_3.py | 23 ++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 dz_1.py create mode 100644 dz_2.py create mode 100644 dz_3.py diff --git a/dz_1.py b/dz_1.py new file mode 100644 index 0000000..b1ad494 --- /dev/null +++ b/dz_1.py @@ -0,0 +1,75 @@ +'''точное выполнение задания''' +duration = 400153 +if duration < 60: + print(f'{duration} сек ') +elif 60 < duration < 3600: + minute = duration // 60 + # duration = duration//60 + sec = duration % 60 + print(f'{minute} мин {sec} сек') +elif 3600 < duration < 86400: + hour = duration//3600 + duration = duration%3600 + minute = duration//60 + sec = duration%60 + print(f'{hour} час {minute} мин {sec} сек') +elif 86400 < duration: + day = duration//86400 + duration = duration%86400 + hour = duration//3600 + duration = duration%3600 + minute = duration//60 + sec = duration%60 + print(f'{day} дн {hour} час {minute} мин {sec} сек') + + + + + + + +'''модернизированная версия + названия всех констант большими буквами sec - SEC + и они должны быть импортированы из отдельного файла: + from const import SEC +русского в коде быть не должно +''' + +sec = 1 +minute = sec*60 +hour = minute*60 +day = hour*24 + + +def get_time(full_time): + '''get periods from seconds''' + result = '' + days = full_time//day + if days: + result += f'{days} дн ' + full_time = full_time%day + hours = full_time//hour + if hours: + result += f'{hours} час ' + full_time = full_time%hour + minutes = full_time//minute + if minutes: + result += f'{minutes} мин ' + full_time = full_time%minute + seconds = full_time + if seconds: + result += f'{seconds} сек ' + print(result) + + +get_time(400153) + +'''подумайте, можно ли использовать цикл для проверки работы кода +сразу для нескольких значений продолжительности, будет ли тут полезен список?''' + +'''ответ: проверить можно с помощью любого цикла, удобно- for неудобно- while +Пример''' + +li_seconds = [53,153,4153,400153] +for second in li_seconds: + get_time(second) diff --git a/dz_2.py b/dz_2.py new file mode 100644 index 0000000..12fdb4c --- /dev/null +++ b/dz_2.py @@ -0,0 +1,45 @@ + + +'''Создать список, состоящий из кубов нечётных чисел от 1 до 1000''' +li_cube=[] +for num in range(1000): + if num % 2 != 0: + li_cube.append(num**3) + + +li_cube=[x ** 3 for x in range(1000) if not x % 2 == 0] # создание генератором + +'''a Вычислить сумму тех чисел из этого списка, +сумма цифр которых делится нацело на 7''' + +def get_devide_seven(li): + new_summ_list=[] + for num in li: + new_summ=0 + for digit in str(num): + new_summ+=int(digit) + if new_summ % 7 == 0: + new_summ_list.append(new_summ) + + result=0 + for digit in new_summ_list: + result+=digit + print(result) + return result + +get_devide_seven(li_cube) + + +'''b К каждому элементу списка добавить 17 и +заново вычислить сумму тех чисел из этого списка, + сумма цифр которых делится нацело на 7''' + +new_li_17=[] +for i in li_cube: + new_li_17.append(i+17) + +get_devide_seven(new_li_17) + +'''* Решить задачу под пунктом b, не создавая новый список''' +new_li_cube=[x ** 3+17 for x in range(1000) if not x % 2 == 0] +get_devide_seven(new_li_cube) diff --git a/dz_3.py b/dz_3.py new file mode 100644 index 0000000..78ab31d --- /dev/null +++ b/dz_3.py @@ -0,0 +1,23 @@ +'''Реализовать склонение слова «процент» во фразе «N процентов». +Вывести эту фразу на экран отдельной строкой +для каждого из чисел в интервале от 1 до 100''' + + +def get_procent(num): + li_except=[11,12,13,14] + if num in li_except: + return 'процентов' + else: + num=str(num) + digit=int(num[-1]) + if 1 == digit: + return 'процент' + if 1