2016-08-10 7 views
-3

1か月に何週も返す関数を提案する人はいますか?例えば :1ヶ月の週数を確認する

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

を? – Bathsheba

答えて

1

あなたはビルトインモジュールカレンダーを使用してそれを行うことができます。私の例ではハックに見えますが、まだそれはあなたのタスクを処理します。

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

別の数学的な解決策:あなたは月に週数を定義する方法

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)) 
関連する問題