Github項目地址:https://github.com/lsk-lsk/Pythongit
估計將在程序的各個模塊的開發上耗費的時間:github
|
|
預測時間(分鐘)app |
Planningdom |
計劃函數 |
5工具 |
Estimate性能 |
估計這個任務須要多少時間測試 |
180編碼 |
Developmentspa |
開發 |
15 |
Analysis |
需求分析 |
15 |
Design Spec |
生成設計文檔 |
5 |
Design Review |
設計複審(和同事審覈設計文檔) |
5 |
Coding Standerd |
代碼規範(爲目前的開發制定合適的規範) |
5 |
Design |
具體設計 |
5 |
Coding |
具體編碼 |
60 |
Code Review |
代碼複審 |
20 |
Text |
測試(自測,修改代碼,提交修改) |
10 |
Reporting |
報告 |
10 |
Text Report |
測試報告 |
10 |
Size Measurement |
計算工做量 |
5 |
Postmortem & Process Improvement Plan |
過後總結,並提出過程改進計劃 |
10 |
解題思路描述:
(1)爲了便於測試,隨機自動生成小學四則運算題目,用到random庫
(2)選擇效能分析工具cProfile和time進行測試
設計實現過程:使用了3個函數,分別爲test1(),test2(),cal(),其中test1(),test2()用來生成四則運算題目,cal()用來計算結果並判斷是否正確
代碼說明:
import cProfile
import random
import time
start = time.time()
def test1(t):
s1 = random.randint(1,10)
s2 = random.randint(1,10)
s3 = random.choice(['+','-','*','/'])
cal(s1,s2,s3,t)
def test2(t):
s1 = random.randint(1,10)
s2 = random.randint(s1,11)
s3 = random.randint(1,10)
s4 = random.randint(s3,11)
s5 = random.choice(['+','-'])
sr = "第" + str(t) + "題:" + str(s1) + '÷'+ str(s2) + s5+str(s3) + '÷'+ str(s4) + '='
l1.append(sr)
if s5 == '+':
l2.append(s1 / s2 + s3 / s4)
else:
if s1 / s2 - s3 / s4 > 0:
l2.append(s1 / s2 - s3 / s4)
else:
sr = "第" + str(t) +"題:" + str(s3) + '÷'+ str(s4) + s5 + str(s1) + '÷' + str(s2) + '='
l2.append(s3 / s4 - s1 /s2)
def cal(s1,s2,s3,t):
sr = "第" + str(t) + "題:" + str(s1) + s3 + str(s2) + '='
if s3 == '+':
l2.append(s1 + s2)
elif s3 == '-':
if s1 >= s2:
l2.append(s1 - s2)
else:
sr = "第" + str(t) + "題:" + str(s2) + s3 + str(s1) + '='
l2.append(s2 - s1)
elif s3 == '*':
sr = "第" + str(t) + "題:" + str(s1) + 'x' + str(s2) + '='
l2.append(s1 * s2)
elif s3 == '/':
sr = "第" + str(t) + "題:" + str(s1) + '÷' + str(s2) + '='
l2.append(s1 / s2)
l1.append(sr)
t = 1
l1 = []
l2 = []
while t <= 10:
if t <= 5:
test1(t)
elif t <= 10:
test2(t)
print(l1[t - 1])
n=eval(input())
if l2[t -1] == n:
print("回答正確!")
else:
print("回答錯誤!")
t += 1
cProfile.run('cal')
cProfile.run('test1')
cProfile.run('test2')
end=time.time()
print(end-start)
測試運行:
性能分析:
實際花費時間:
|
|
實際時間(分鐘) |
nning |
計劃 |
10 |
Estimate |
估計這個任務須要多少時間 |
205 |
Development |
開發 |
12 |
Analysis |
需求分析 |
18 |
Design Spec |
生成設計文檔 |
5 |
Design Review |
設計複審(和同事審覈設計文檔) |
5 |
Coding Standerd |
代碼規範(爲目前的開發制定合適的規範) |
5 |
Design |
具體設計 |
5 |
Coding |
具體編碼 |
80 |
Code Review |
代碼複審 |
20 |
Text |
測試(自測,修改代碼,提交修改) |
5 |
Reporting |
報告 |
15 |
Text Report |
測試報告 |
10 |
Size Measurement |
計算工做量 |
5 |
Postmortem & Process Improvement Plan |
過後總結,並提出過程改進計劃 |
10 |