數學題型計算,需要思考地方變多了,有些地方硬算測資會過,但是會超時計算。所以這地方要加強演算法知識,並複習高中數學知識。
每週一是末日來臨,畢竟是憂鬱星期一,給你日期問你週別。
#print("date","doom","sub")#測資日期,測資月份的週一日,相減
像這種在print前面有加#,是方便參考程式運作過程
import sys
def inp():
#print("date","doom","sub")#測資日期,測資月份的週一日,相減
count=int(sys.stdin.readline())#第一列告訴你有幾筆測資
for i in range(count):#迴圈(第一列測資)
sinp=sys.stdin.readline()
sinp1,sinp2=map(int,sinp.replace("\n","").split())#月份,日期
#print(sinp1,sinp2,end=" ")#測資日期,
doom(sinp1,sinp2)
def doom(o,t):
do={1:10,2:21,3:28,4:4,5:9,6:6,7:11,8:8,9:5,10:10,11:7,12:12}#這邊是題目告訴你當天是星期一的日子,只有三月份要自己去推算
st=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
#print(do.get(o),(t-do.get(o)))測資月份的週一日,相減
print(st[(t-do.get(o))%7])#取餘數得知星期別
inp()
不難,但是要統整每月份星期一的日子一天,三月月要自己算。
不需要額外背語法
前面的文章有筆誤,全域變數打成全域函數,很抱歉傳遞錯誤知識。
感謝撥冗閱讀,歡迎批評與指教