第五次作業 四則運算

2022-07-16 14:42:18 字數 3646 閱讀 3193

【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 ...