Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions dz_1.py
Original file line number Diff line number Diff line change
@@ -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)
45 changes: 45 additions & 0 deletions dz_2.py
Original file line number Diff line number Diff line change
@@ -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)
23 changes: 23 additions & 0 deletions dz_3.py
Original file line number Diff line number Diff line change
@@ -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<digit<5:
return 'процента'
elif 4<digit or digit == 0:
return 'процентов'


for digit in range(1,101):
proc=get_procent(digit)
print(f'{digit} {proc}')