2016-08-10 7 views
-3

Kann jemand eine Funktion vorschlagen, um die Anzahl der Wochen in einem Monat zurückzugeben? zum Beispiel:Anzahl der Wochen in einem Monat finden

def num_of_weeks(year, month): 
    # Do calulation 
    return int(num) 

# In 2016 Julay we had five weeks 
print num_of_weeks(2016, 1) 
>> 5 

print num_of_weeks(2016, 5) 
>> 6 
+0

Wie Sie die Anzahl der Wochen in einem Monat definieren? – Bathsheba

Antwort

1

Sie es tun können Kalender Einbau-Modul. Mein Beispiel sieht hackish, aber immer noch es kümmert sich um Ihre Aufgabe:

def num_of_weeks_in_month(year, month): 
    import calendar 
    return calendar.month(year, month).count('\n') - 2 

print num_of_weeks_in_month(2016, 8) # print 5 
print num_of_weeks_in_month(2016, 9) # print 5 
print num_of_weeks_in_month(2016, 10) # print 6 
1

Eine weitere mathematische Lösung:

def num_of_weeks_in_month(year, month): 
    from math import ceil 
    from calendar import monthrange 

    return int(ceil(float(monthrange(year, month)[0]+monthrange(year,month)[1])/7)) 
Verwandte Themen