Python időszámláló?
Csak most kezdtem ismerkedni a Pythonnal, de máris megrekedtem.
A feladat:
o = 12
p = 15
tehát 12óra15perc
Valahogy meg kellene oldani, hogy mindíg a következő percet mutassa.
Tehát 12ó16, vagy 12ó59 után 13ó00!!
Teljesen belebonyolódtam...
1. Biztosan van erre valami időkezelő library.
2. Maradékos osztás (modulo) művelet a barátod.
if p==60:
....p=0
....o=o+1
if o==25:
....o=0
Én a C-szerű nyelveket ismerem, így abban mutatom meg.
int Ora = 12;
int Perc = 59;
Perc = Perc + 1;
if (Perc == 60) {
.. Ora++;
.. Perc = 0;
}
De ha eszed van, nem külön tárolod az órát és a percet, hanem egy változót használsz és a lehető legkisebb időegységben (jelen esetben percben) tárold. Így csak akkor kell átalakítanod, ha kiírod, de cserébe sokkal könnyebb két időt összehasonlítani is illetve műveleteket végezni velük. Ha 12 óra 59 percet akarsz tárolni, akkor 12*60+59-et tárolsz (=779). Ebben egész osztással megnézed, mennyiszer van meg a 60 és mennyi a maradék (ebből kapod vissza az órát és a percet).
Én nem használnék ehhez if et, az első válaszoló adta a legjobb megoldást szvsz.
Tetszőlegesen válassz egy legkisebb mértékegységet(ebben az esetben a perc, vagy a másodperc tűnik logikusnak), aztán modulo operátorral pár sorból megvan az egész.
Ha feltételezzük, hogy van egy time változó amihez hozzáadsz minden percben egyet
m = time % 60
h = time % 3600 % 24 //vagy 23? Ilyen hibákat rendszeresen összehozok :D
és ennyi, if ekkel telepakolni szerintem nem kimondottan szép(meg nem is hatékony).
..sry, tegnap este már agyhalott voltam. Az óra így jön ki
h = time / 3600 % 24
> h = time / 3600 % 24
Ezt azért gondold át még egyszer.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!