【github專案位址】
【psp**】
psp2.1
personal software process stages
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫10
· estimate
· 估計這個任務需要多少時間
10development
開發655
· analysis
· 需求分析 (包括學習新技術)
30· design spec
· 生成設計文件
30· design review
· 設計複審 (和同事審核設計文件)
10· coding standard
· **規範 (為目前的開發制定合適的規範)
5· design
· 具體設計
40· coding
· 具體編碼
5h*60
· code review
· **複審
1h*60
· test
· 測試(自我測試,修改**,提交修改)
3h*60
reporting
報告290
· test report
· 測試報告+部落格
4h*60
· size measurement
· 計算工作量
10· postmortem & process improvement plan
· 事後總結, 並提出過程改進計畫
40合計
955【解題思路描述】
首先,用」
import random」 和」
random.randint(n,m)」
來完成隨機數的產生的生成運算。
與使用者輸入的答案進行匹配,判斷對錯
【設計實現過程】
該**較簡單,沒有將四種運算分為四種單獨的函式進行程式設計。
**首先將四則運算包含在乙個陣列中,並且隨機選擇其中一種運算。隨機生成兩個十進位制的整數,進行加減乘除四種運算。最後將使用者輸入的答案與正確答案進行比較。
【**說明】
展示出專案關鍵**,並解釋思路與注釋說明。
1【測試執行】截圖import
random
2 opr = ['
+','
-','
×','
÷'] #
四則運算的選擇
3 jg = '0'
4print('
輸入 "0000" 可退出')
5while
true:
6 fh = random.randint(0, 3) #
fh可取0,1,2,3
7 n1 = random.randint(1, 10) #
n1為1~10範圍內的數
8 n2 = random.randint(1, 10) #
n2為1~10範圍內的數
9 rjg =0
10if fh == 0: #
加法11 rjg = n1 +n2
12elif fh == 1: #
減法13 n1,n2 = max(n1,n2),min(n1,n2) #
因為不能出現負數 所以用大的值減去小的值
14 rjg = n1 -n2
15elif fh == 2:#
乘法16 rjg = n1 *n2
17elif fh == 3:#
除法18 n1,n2 =max(n1,n2),min(n1,n2)
19while n1 % n2 != 0:#
只考慮整除的情況
20 n1 = random.randint(1, 10)
21 n2 = random.randint(1, 10)
22 n1,n2 = max(n1,n2),min(n1,n2)#
保證用大的數除以小的數
23 rjg = int(n1 /n2)
2425
print(n1, opr[fh], n2, '
= ', end='')#
輸出題目
26 jg = input()#
輸入答案
27if jg == '
0000
':#輸入0000 意為退出
28break
29 sr =int(jg)
30if int(sr) == rjg:#
如果輸入答案與正確答案相等 則輸出 正確
31print('正確'
)32else:33
print('
錯誤,正確答案為:
', rjg)
【效能分析】
本**十分簡易 沒有複雜的考慮到分數的四則運算 而只考慮了整數的實現 這是十分不足的地方
psp**記錄下程式的各個模組上實際花費的時間
psp2.1
personal software process stages
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫10
8· estimate
· 估計這個任務需要多少時間108
development
開發655
785· analysis
· 需求分析 (包括學習新技術)
3035
· design spec
· 生成設計文件
3040
· design review
· 設計複審 (和同事審核設計文件)
1015
· coding standard
· **規範 (為目前的開發制定合適的規範)55
· design
· 具體設計
4060
· coding
· 具體編碼
300420
· code review
· **複審
6090
· test
· 測試(自我測試,修改**,提交修改)
180120
reporting
報告290
330· test report
· 測試報告+部落格
4h*60
4.5h*60
· size measurement
· 計算工作量
1010
· postmortem & process improvement plan
· 事後總結, 並提出過程改進計畫
4050
合計955
1123
軟體工程第五次作業 四則運算
1 能自動生成小學四則運算題目 2 能支援任意分數的四則運算 3 能支援任意括號運算 根據引數生成不定長度的表示式,以及能控制是否生成分數,能生成任意數量的中綴表示式,支援四則運算,括號運算以及分數運算 建構函式介面 def init self,exps num 10,num l 1,num r 1...
第五次作業 結對專案 四則運算 「軟體」之公升級版
這個作業的要求來自於 結對成員 黃振傑 一 基本要求 從個人專案出發,將程式改裝成乙個單機帶使用者介面 不是控制台 的程式,這個程式最基本要達到 二 擴充套件方向 程式可以設定 功能,可以改變介面的顏色即可。程式可以出帶括號的正整數四則運算,支援分數,除法保留兩位小數,如 1 3 1 2 2.67,...
第五次作業 結對專案 四則運算 「軟體」之公升級版
這個作業的要求來自於 結對成員 張朗 遠端github位址為 一 基本要求 從個人專案出發,將程式改裝成乙個單機帶使用者介面 不是控制台 的程式,這個程式最基本要達到 二 擴充套件方向 程式可以設定 功能,可以改變介面的顏色即可。程式可以出帶括號的正整數四則運算,支援分數,除法保留兩位小數,如 1 ...