Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Weekend Counter by Kacper_Kapela
from datetime import date
from datetime import timedelta
"""
Importuje dwie nowe funkcje(moduly). Pierwsza potrzebna mi jest aby użyc funkcji weekday(), która zwraca mi wartosc TRUE lub FALSE, jesli wpisana data okaze sie byc danym dniem tygodnia...
Timedelta sluzyc mi bedzie do "przeniesienia sie w czasie
"""
"""
Idea programu polega na przeliczeniu ile sobot i niedziel jest pomiedzy dwoma datami
1. Najpierw ustalam więc sobie licznik
2. Petla - powtarzaj dopoki nie osiagniesz daty koncowej
3. jezeli w pierwszej dacie napotkasz sobote (5 dzien tygodnia) lub niedziele(6 dzien tygodnia - liczymy od 0) to do licznika dodaj 1
4. Sprawdzaj ten waruenk co jeden dzien czyli co timedelta(days=1)
5. Kiedy petla sie przerwie wypisz licznik
"""
def checkio(from_date, to_date):
licznik = 0 # counting variable
while(from_date <= to_date): # have we reached the end date?
if from_date.weekday() == 5 or from_date.weekday()==6: #czy jest sobota lub niedziela?
licznik+=1
from_date += timedelta(days=1) # ... get me tomorrow
return licznik # done
return 0
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(date(2013, 9, 18), date(2013, 9, 23)) == 2, "1st example"
assert checkio(date(2013, 1, 1), date(2013, 2, 1)) == 8, "2nd example"
assert checkio(date(2013, 2, 2), date(2013, 2, 3)) == 2, "3rd example"
Dec. 17, 2015