from datetime import datetime
class Meeting:
def __init__(self, start_time, end_time):
self.start_time = start_time
self.end_time = end_time
>>> meeting = Meeting(datetime(2018, 8, 1, 9, 0, 0), datetime(2018, 8, 1, 11,
0, 0))
>>> print(meeting.start_time)
2018-08-01 09:00:00
>>> print(meeting.end_time)
2018-08-01 11:00:00
Пошаговое объяснение:
def check_availability(meetings, proposed_time):
meeting_start = Meeting.datetime.start_time.hour
meeting_end = Meeting.datetime.end_time.hour
ok_time = datetime.proposed_time.hour
if meeting_start < ok_time < meeting_end:
return True
else:
return False
meetings = [Meeting(datetime(2018, 8, 1, 9, 0, 0), datetime(2018, 8, 1, 11,
0, 0)), Meeting(datetime(2018, 8, 1, 15, 0, 0), datetime(2018, 8, 1, 16, 0,
0)), Meeting(datetime(2018, 8, 2, 9, 0, 0), datetime(2018, 8, 2, 10, 0, 0))]
print(check_availability(meetings, datetime(2018, 8, 1, 12, 0, 0)))
print(check_availability(meetings, datetime(2018, 8, 1, 10, 0, 0)))
число 54 заканчивается на четвёрку, соответственно мы можем рассматривать не 54, а 4- их степени на одну цифру заканчиваются. Теперь строим таблицу:
4^1 mod 10=4
4^2 mod 10=6
4^3 mod 10=4 (!) Зацикливание, значит 54^(2n) mod 10=6, а 54^(2n+1) mod 10=4.
Короче говоря, если степень чётная, то 6, если нет, то 4.
Аналогично вместо 28 рассмотрим 8 и построим таблицу:
8^1 mod 10=8
8^2 mod 10=4
8^3 mod 10=2
8^4 mod 10=6
8^5 mod 10=8 (!) Зацикливание.
Значит если остаток от деления на 4 равен нулю, то 6, если один- то 8 и т. д.
Т. к. 21 mod 4=1, у нас будет 8.
Осталось сложить (8+4) mod 10=2