Cześć.
Dostałem za zadanie zrobić prosty generator gen_time, który produkuje kolejne sekwencje czasu w postaci krotek (godziny, minuty, sekundy). Przyjmuje on w postaci krotek czas_startowy, czas_koncowy i krok_czasu. Przykładowo powinno to działać tak:
**for time in get_time((8, 10, 00), (8, 25, 00), (0, 4, 0)):
print(time)
wyniki:
(8, 14, 00)
(8, 18, 00)
(8, 22, 00)**
Utknąłem. Wiem, że ktoś ogarnięty zrobiłby to w kilkanaście minut, a mi to zajmuje już parę dni... Może mi ktoś pomóc, doradzić, czy to co robię mnie do czegoś doprowadzi? Dać jakieś wskazówki?
Oto, co udało mi się sklecić w ciągu tego czasu :/
import math
def gen_time(krotka1, krotka2, krotka3):
(godzina1, minuta1, sekunda1) = krotka1
czas_start = (godzina1, minuta1, sekunda1)
(godzina2, minuta2, sekunda2) = krotka2
czas_koncowy = (godzina2, minuta2, sekunda2)
(godzina3, minuta3, sekunda3) = krotka3
krok_czasu = (godzina3, minuta3, sekunda3)
g = godzina1 + godzina3
m = minuta1 + minuta3
s = sekunda1 + sekunda3
if s >= 60:
m += math.trunc(s/60)
s = s - (math.trunc(s/60)*60)
if m >= 60:
g += math.trunc(m/60)
m = m - (math.trunc(m/60)*60)
if g >= 24:
g = 0 + (g%24)
temp_wynik = (g, m, s)
yield temp_wynik
if __name__ == '__main__':
generator = gen_time((10, 10, 50),(11, 11, 10),(0, 10, 20))
print(next(generator))