Github連接:https://github.com/universe-tong/03170262python
使用PSP的目的是記錄如何實現需求所須要消耗的時間,以及完成整個項目所須要的時間。git
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planing | 計劃 | 30min | 25min |
Estimate | 估計這個任務須要多少時間 | 20min | 20min |
Development | 開發 | 30min | 40min |
Analysis | 需求分析(包括學習新技能) | 100min | 90min |
Design Spec | 生成設計文檔 | 50min | 50min |
Design Review | 設計複審 | 20min | 30min |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 20min | 40min |
Design | 具體設計 | 20min | 20min |
Coding | 具體編碼 | 100min | 120min |
Code Review | 代碼複審 | 10min | 20min |
Test | 測試(自我測試、修改代碼) | 10min | 15min |
Reporting | 報告 | 20min | 40min |
Test Repor | 測試報告 | 20min | 30min |
Size Measurement | 計算工做量 | 40min | 20min |
Postmortem & Process Improvement Plan | 過後總結,並提出過程改進計劃 | 30min | 35min |
Total | 合計 | 620min | 595min |
導入兩個初始化列表,一個是全國各個省份的名稱,再一個是各個省份包括的市github
def Provincelist() def Citylist()
而後是程序的幾個重要函數
講輸入的字符串中的名字和電話號碼提取出來,以後再返回一個剩下的地址字符串函數
def GetNameAndNumber(str,list,index)
在字符串提取出省份工具
def findprovicne(str,list,index)
在字符串中提取出城市名字性能
def findcity(str,list,index)
在字符串中提取出縣/區/鄉單元測試
def findtown(str,list,index)
導入了省份和城市的庫,匹配的結果更爲準確。學習
使用Pycharm裏的性能測試工具,測試性能及函數的使用狀況,以及覆蓋率
函數調用圖
時間開銷圖:
代碼的覆蓋率:
測試
輸入:
1!魯胞,上海長寧區周18951233466家橋街道長寧路999號春天花園.
1!臧街經,北京市東城區北新橋街道東直門內大街民15679601503安小區8號樓.
1!雙韻,安徽黃山市歙縣雄村鎮006縣道與G56杭瑞高速歙縣雄村鄉防保站13575634949.
1!苗朽蕾,13884441418湖北省孝感市雲夢縣方廟村村委會.
1!晏孔,重慶巫山13097181946縣大昌鎮洋溪村便民超市.
1!荊麻,13282875332天津市北淮澱鎮樂善莊村樂善莊小學.
1!諸葛寧盛,河南省15613629652焦做市山陽區定和街道塔南路287號新興日化.
1!馮昔唉,安徽省合肥市廬江縣郭河鎮G3京臺高18835354291速合肥市廬江縣廣寒橋街道.
1!百里屏悶,廣西壯族自治區桂林市靈川縣潭13315249688下鎮004鄉道靈川縣潭下鎮大義村民委員會.
1!徐扼負,天津市河北區月牙河街道大江裏58號樓13289199578.
1!婁纏壯,山東省煙臺萊山14732355817區萊山街道南陳家疃小區10棟.
1!曹持,江蘇泰州13066409994市海陵區迎賓路88號春蘭商務酒店.
輸出:
{
"level": 1,
"姓名": "魯胞",
"手機": "18951233466",
"地址": [
"上海",
"上海市",
"長寧區",
"周家橋街道",
"長寧路999號春天花園"
]
},
{
"level": 1,
"姓名": "臧街經",
"手機": "15679601503",
"地址": [
"北京",
"北京市",
"東城區",
"北新橋街道",
"東直門內大街民安小區8號樓"
]
},
{
"level": 1,
"姓名": "雙韻",
"手機": "13575634949",
"地址": [
"安徽省",
"黃山市",
"歙縣",
"雄村鎮",
"006縣道與G56杭瑞高速歙縣雄村鄉防保站"
]
},
{
"level": 1,
"姓名": "苗朽蕾",
"手機": "13884441418",
"地址": [
"湖北省",
"孝感市",
"雲夢縣",
"",
"方廟村村委會"
]
},
{
"level": 1,
"姓名": "晏孔",
"手機": "13097181946",
"地址": [
"重慶",
"重慶市",
"巫山縣",
"大昌鎮",
"洋溪村便民超市"
]
},
{
"level": 1,
"姓名": "荊麻",
"手機": "13282875332",
"地址": [
"天津",
"天津市",
"",
"北淮澱鎮",
"樂善莊村樂善莊小學"
]
},
{
"level": 1,
"姓名": "諸葛寧盛",
"手機": "15613629652",
"地址": [
"河南省",
"焦做市",
"山陽區",
"定和街道",
"塔南路287號新興日化"
]
},
{
"level": 1,
"姓名": "馮昔唉",
"手機": "18835354291",
"地址": [
"安徽省",
"合肥市",
"廬江縣",
"郭河鎮",
"G3京臺高速合肥市廬江縣廣寒橋街道"
]
},
{
"level": 1,
"姓名": "百里屏悶",
"手機": "13315249688",
"地址": [
"廣西壯族自治區",
"桂林市",
"靈川縣",
"潭下鎮",
"004鄉道靈川縣潭下鎮大義村民委員會"
]
},
{
"level": 1,
"姓名": "徐扼負",
"手機": "13289199578",
"地址": [
"天津",
"天津市",
"河北區",
"月牙河街道",
"大江裏58號樓"
]
},
{
"level": 1,
"姓名": "婁纏壯",
"手機": "14732355817",
"地址": [
"山東省",
"煙臺市",
"萊山區",
"萊山街道",
"南陳家疃小區10棟"
]
},
{
"level": 1,
"姓名": "曹持",
"手機": "13066409994",
"地址": [
"江蘇省",
"泰州市",
"海陵區",
"",
"迎賓路88號春蘭商務酒店"
]
},編碼
當輸入第三檔難度時,例如3!孫旗乖,13366755810白城市洮北區長慶南街65號沒法將其前面補齊,解決的方法是導入城市庫去匹配省份。