[プログラマー](python)2016年


質問する

説明する


最初から.
31日の月1、3、5、7、8、10、12
30日間の月4,6,9,11
29日の月2
こんなに分けて
sum(month[:a-1])+b)
本当はやりたかったのですが、複雑すぎてパターンを使いました.
def solution(a,b):
    week = ['FRI','SAT','SUN','MON','TUE','WED','THU']
    month = [31,29,31,30,31,30,31,31,30,31,30,31]
    day = sum(month[:(a-1)])+(b-1)
    answer = week[day%len(week)]
    return answer
    
    
カレンダーのように、日曜日から週を作ります.
あと5を足しても大丈夫です.
面倒なので週の順番を変えた.
+++
8月なら、
month[7]2番目の和を求める
b-1をもう一つ追加します.
答えの中でも7を分けるだけでいいです.
私はメーデーが毎週4日であることを望んでいるからです.

別の解釈

import datetime

def getDayName(a,b):
    t = 'MON TUE WED THU FRI SAT SUN'.split()
    return t[datetime.datetime(2016, a, b).weekday()]
+++
datetime関数を利用!
datetime
平日を除く.Now()などの活用方法は多様である.