0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 5
1

Класс Date. Вычитание дат

24.04.2018, 12:47. Показов 21009. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помощи с решением.
Реализуйте класс Date, экземпляры которого при инициализации принимают месяц и день. При вычитании дат (d1 - d2) должно возвращаться число дней между d1 и d2. Число дней должно быть: равно нулю, если d1 и d2 — одна и та же дата, быть больше нуля, если d1 позже d2, быть меньше нуля, если d1 раньше d2. Считайте, что все даты указаны в пределах одного и того же не високосного года (в феврале 28 дней).

Мой код проходит проверку при следующих данных,
from solution import Date

mar5 = Date(3, 1)
jan1 = Date(1, 1)

print(mar5 - jan1)
print(jan1 - mar5)
print(jan1 - jan1)
print(mar5 - mar5)

Но если заданы условия.
from solution import Date

jan31 = Date(1, 31)
feb1 = Date(2, 1)
feb2 = Date(2, 2)

print(feb1 - jan31)
print(jan31 - feb1)
print(feb1 - feb1)
print()

print(feb2 - jan31)
print(jan31 - feb2)
print(feb2 - feb2)
print()

проверку не проходит.

мой код

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import datetime
class Date:
    def __init__(self, d1, d2):
        self.d1 = d1
        self.total=0
        for i in range(1,self.d1+1):
            if i==1 or i==3 or i==5 or i==7 or i==8 or i==10 or i==12:
                self.total+=31
            if i==4 or i==6 or i==9 or i==11:
                self.total+=30
            if i==2:
                self.total+=28
        self.d2 = d2
        self.d2+=self.total
 
    def __sub__(self, other):
        delta = self.d2 - other.d2
        return delta
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2018, 12:47
Ответы с готовыми решениями:

Вычитание дат
Реализуйте класс Date, экземпляры которого при инициализации принимают месяц и день. При вычитании...

Вычитание дат в Pandas
Добрый день! Есть csv-файл Два столбца в нём являются датами. Нужно добавить столбец содержащий...

Описать класс дат Date
Описать класс дат Date. Определить следующие методы: • конструктор, принимающий номера дня, месяца...

Описать класс дат Date
Описать класс дат Date. Определить следующие методы: • конструктор, принимающий номера дня, месяца...

5
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 5
24.04.2018, 16:20 2
как я понимаю у тебя тоже не хватает баллов в яндексе?
0
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 5
24.04.2018, 16:28  [ТС] 3
Вполне хватает).
0
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 5
24.04.2018, 18:58 4
ddtape, просто так порешать решил ?)
0
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 5
25.04.2018, 09:12  [ТС] 5
просто хочу ответ получить. помочь можешь?
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
25.04.2018, 11:36 6
ddtape, вот например, какие проверки должны быть?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Date:
 
    def __init__(self, month, day):
        self.month = month
        self.day = day
        self.months = {31: (1, 3, 5, 7, 8, 10, 12), 30: (4, 6, 9, 11), 28: (2,)}
        self.days_from_start_year = self.__get_days_count()
 
    def __sub__(self, other):
        return self.days_from_start_year - other.days_from_start_year
 
    def __get_days_count(self):
        result = 0
        for month in range(1, self.month):
            for k, v in self.months.items():
                if month in v:
                    result = result + k
                    break
        result += self.day
        return result
2
25.04.2018, 11:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2018, 11:36
Помогаю со студенческими работами здесь

Класс «Дата». Сложение/вычитание дат
Здравствуйте, нужна помощь - подсказка. Вот задание: Описать класс «Дата» – день, месяц (число),...

Вычитание дат
Как мне из вот например такой даты 07-05-2011 вычесть например такую 13-05-2011 ?

Вычитание дат
Здравствуйте, на форме есть TextBox и DateTime, как сделать чтобы от текущей дате отнять дату из...

Вычитание дат
Я никак не могу понять в чем тут ошибка. Исправьте пожалуйста код. #pragma endregion private:...

Вычитание дат в запросе
проблема такая: у меня есть столбец с началом сессии, столбец с окончанием сессии, и столбец...

Запросы: вычитание дат
Есть два столбца (`ДатаРождения`,`ДатаРегистрации`) в одной таблице как из регистрации вычесть...

Вычитание дат в запросе
я уже часа 4 изучаю ваш форум, но так и не нашел решения, которое бы мне помогло. имеется поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru