Вопрос Вопрос по python

Регистрация
23 Июн 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
class Time:



def __init__(self, hours, minutes):

self.hours = hours

self.minutes = minutes

self.hours, self.minutes = Time.func(hours, minutes)



@staticmethod

def func(hours, minutes):

return hours, minutes



def __add__(self, other):

if isinstance(other, Time):

c = [self.hours + other.hours, self.minutes + other.minutes]

for i in range(len(c)):

c = str(c)

return Time(c[0], c[1])

else:

return NotImplemented



p = Time(2, 30)

p1 = Time(6, 25)

print(p + p1)

Почему этот код выдаёт ссылку , а не значение?
 
а я люблю программистов ~~~~~~ напиши мне в личку ~~~~~ uwwwu
class Time:

def __init__(self, hours, minutes):
self.hours = hours
self.minutes = minutes

@staticmethod
def func(hours, minutes):
return hours, minutes

def __add__(self, other):
if isinstance(other, Time):
total_minutes = self.hours*60 + self.minutes + other.hours*60 + other.minutes
return Time(total_minutes // 60, total_minutes % 60)
else:
return NotImplemented

p = Time(2, 30)
p1 = Time(6, 25)
print(p + p1)
~~~~~ах~~~~~~
 
Хочешь из
p = Time(2, 30)
p1 = Time(6, 25)
print(p + p1)
путем изменения функции сложения получить значение часов и минут? Так что ли?
Ну... Такие заумности как у тебя, которые даже я с трудом могу понять, для такого деяния вовсе не нужны class Time:
def __init__(self, hours, minutes):
self.hours = hours
self.minutes = minutes

def __add__(self, other):
n = self.hours * 60 + other.hours * 60 + self.minutes + other.minutes
return f'{n // 60} часов {n - (n // 60) * 60} минут'

p = Time(2, 30)
p1 = Time(6, 25)
print(p + p1) 8 часов 55 минут
 
Назад
Сверху