Godzina 00:00

0

Ma ktoś pomysł jak w tym skrypcie zrobić północ, pomijając milisekundy i setne?

Wspomniany skrypt:

północ = ?

if północ == teraz:
        print("x właśnie się rozpoczęła!")

elif północ_dwa > północ:
        print("x już się rozpoczęła!)

Głównie skrypt jest potrzebny aby pokazać, że wykorzystuje mniejszości/większości, więc opcja północ = now - now.replace(hour = 0, minute = 0) jest wykluczona

0
class time():

    def __init__(self, hour, sec):
        self.hour = hour
        self.sec = sec

    def __gt__(self, now):
    #tutaj mamy tzw przeładowanie operatora, zwracanie True oznacza jest "większe"
        if self.hour > now.hour or self. sec > now. sec:
            return True
        return False



polnoc = time(0, 0)
now =time(0, 0)

if now > polnoc:
    print("eee tam nic się nie dzieje")

else:
    print("strzygi, wampiry, itp")
0
sig napisał(a):
class time():

    def __init__(self, hour, sec):
        self.hour = hour
        self.sec = sec

    def __gt__(self, now):
    #tutaj mamy tzw przeładowanie operatora, zwracanie True oznacza jest "większe"
        if self.hour > now.hour or self. sec > now. sec:
            return True
        return False



polnoc = time(0, 0)
now =time(0, 0)

if now > polnoc:
    print("eee tam nic się nie dzieje")

else:
    print("strzygi, wampiry, itp")

Rzecz w tym, że jak to dodaje dalej wyświetla się ten błąd:
TypeError: '>' not supported between instances of 'datetime.datetime' and 'time'

Jest tu porownywane x = teraz.replace(hour=0, minute=2) z twoim skryptem wyżej, więc wyskakuje błąd.

0

Oczywiście że tak, służy do porównywania 2 obiektów tej klasy co ją sobie zrobiłem. po prostu wstaw w now swoje godziny i minuty, jak mają być aktualne np tak

import time


class cmptime():

    def __init__(self, hour, sec):
        self.hour = hour
        self.min = sec

    def __gt__(self, now):
    #tutaj mamy tzw przeładowanie operatora, zwracanie True oznacza jest "większe"
        if self.hour > now.hour or self. min > now.min:
            return True
        return False

polnoc = cmptime(0, 0)
now = cmptime(time.localtime().tm_hour, time.localtime().tm_min)
print("jest", now.hour, ":", now.min, "tak więc:")
if now > polnoc:
    print("eee tam nic się nie dzieje")

else:
    print("strzygi, wampiry, itp")

Albo zmodyfikuj odpowiednio funkcję GT

ps ciesz się że to ciągle jeszcze wakacje....

1 użytkowników online, w tym zalogowanych: 0, gości: 1