中國有句俗語叫“三天打魚兩天曬網”。某人從2010年1月1日起開始“三天打魚兩天曬網”,問這個人在以後的某一天中是“打魚”還是“曬網”。
import re
import datetime
import sys
#確定檔名
filename='in.txt'
recordname='out.txt'
#讀取使用者查詢日期
checkDate=input("請輸入要查詢的日期...\n")
#正規表示式驗證使用者輸入資料正確性演算法 如果輸入不正確則停止程式執行
rex="([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8])))|(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229"
if(re.search(rex,checkDate)):
print("輸入日期正確,已將結果存入out.txt...")
else:
print("輸入日期錯誤,不存在這一天或輸入格式不對")
sys.exit(0)
#開啟檔案並且儲存使用者查詢日期
with open(filename,'a') as file_object:
file_object.write(' '+checkDate)
#求日期差演算法
def days(str1,str2):
date1=datetime.datetime.strptime(str1[0:10],"%Y-%m-%d")
date2=datetime.datetime.strptime(str2[0:10],"%Y-%m-%d")
num=(date1-date2).days
return num
#判斷打魚還是曬網演算法
def check(num):
num=num%5
if num in range(1,4,1):
return True
else:
return False
#核心演算法
with open(filename) as file_object:
contents=file_object.read()
s1 = re.split(' ', contents) # 利用正則函式進行分割
#讀取第一個數20100101和最後一個要查的數並將其轉換為date資料型別
begin=s1[0]
begin=begin[0:4]+'-'+begin[5:6]+'-'+begin[7:8]
last=s1[len(s1)-1]
last=last[0:4]+'-'+last[5:6]+'-'+last[7:8]
#呼叫days函式求出兩日期之間所差天數
nums=days(last,begin)
#根據所差天數得到結果
Result=check(nums)
#將結果寫入out.txt檔案中,其中True表示打魚,False表示曬網
with open(recordname,'a') as file_object:
file_object.write(str(Result)+' ')
相關文章
- 網路釣魚是什麼?網路釣魚攻擊的形式有哪些?
- 學妹問,學網站開發還是打 ACM?網站ACM
- 網路釣魚鋪天蓋地,防不防,如何防?
- 什麼是魚叉式網路釣魚?常見的方式有哪些?
- 打擊釣魚網站 谷歌Chrome即將會警告域名相似的網站網站谷歌Chrome
- 我也來曬一曬部落格
- 釣魚篇-網路釣魚
- 又要鹹魚翻身的HTC,國產處理器+2GB運存,網友:還是條鹹魚
- 新股打新中籤後多久上市?幾天內新股上市?
- 網魚網咖聯合iG鬥魚開啟電競圓夢計劃,網魚競技場開放報名
- 網課摸魚
- 釣魚?這是反代理!
- Python開發打牢基礎,從這些個語法開始!Python
- 級聽具意天些打林還族劃alg
- 曬單活動測試問題
- Python打牢基礎,從19個語法開始!Python
- 科技圈曬開工福利!2019一起定個小目標!
- phpMyAdmin 網頁打不開PHP網頁
- 網路釣魚攻擊
- 某一地區使用者的網頁打不開了???網頁
- 這兩天的倒黴事
- 敢曬出你的桌面嗎?
- Java中計算兩個日期間的天數Java
- 與 Rockstar 聖迭戈創始人在哥倫比亞共度的兩天
- 95後阿里P7曬出工資單:狠補了這個,真香...阿里
- 什麼是欺騙性網路釣魚?如何防禦?
- 曬太陽還會變胖?最新研究表明,曬太陽會刺激男性進食,女性卻不受影響
- 上班摸魚與網路安全
- 網易七魚(杭州)招聘前端前端
- soketi 封了中國和俄羅斯的IP網站打不開了。網站
- 不滿微軟收購GitHub 網友紛紛曬出表情包微軟Github
- 從0打卡leetcode之day 5 ---兩個排序陣列的中位數LeetCode排序陣列
- 解析已經生效,但是網站打不開是什麼原因?網站
- 2019 年網際網路安全報告:黑客釣魚有新招黑客
- 網路釣魚攻擊常用方法是什麼?如何防護?
- 蕉下收割“防曬焦慮”
- (2)verilog與Systemverilog兩種語言編寫打兩拍
- 這個聰明哥是怎麼打cf的