軟體工程的四則運算
阿新 • • 發佈:2020-09-21
1、github地址:https://github.com/h15986230342/-.git
題目要求:
能自動生成小學四則運算題目(注意是給小學生用的,要是結果出現負數的話他們會迷茫的!)
除了整數外,還要支援真分數的四則運算
2、PSP表格
PSP表格估計程式的各個模組的開發上耗費的時間,以及最後對各個操作的實際用時統計
PSP2.1 |
Personal Software Process Stages |
預估耗時(min) |
實際耗時(min) |
Planning |
計劃 |
20 |
35 |
Estimate |
估計這個任務需要多少時間 |
5 |
5 |
Development |
開發 |
45 |
90 |
Analysis |
需求分析(包括學習新技術) |
20 |
30 |
Design Spec |
生成設計文件 |
20 |
20 |
Design |
具體設計 |
30 |
30 |
Code |
具體編碼 |
30 |
45 |
Test |
測試(自我測試,修改程式碼,提交修改) |
30 |
60 |
Reporting |
報告 |
15 |
20 |
Summary |
合計 |
215 |
335 |
3、專案思路:
①四則運算,採用兩個隨機數進行加減乘除;
②在對兩個隨機數進行減法運算的時候,為了避免出現負數,需要先比較大小,再用大數減去小數;
③在對兩個隨機數進行加法運算的時候,要把結果控制在100以內;
④在除法在運算中,除數不能取0;
⑤全過程避免出現假分數
4、設計實現過程
(1)定義函式:用def szys()實現隨機生成四則運算
(2)程式碼分為兩部分,第一部分是隨機生成四則運算函式,程式輸出算式並返回正確答案;
第二部分是主函式,使用者輸入數字1進行四則運算,通過呼叫syzs()函式得到算式和返回值,使用者輸入答案後,便與使用者輸入值進行比較。
5、程式碼說明
原始碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
import profile #測試效能
import random
#四則運算
def szys():
sym = [ '+' , '-' , '×' , '÷' ]
f = random.randint( 0 , 3 )
n1 = random.randint( 1 , 20 )
n2 = random.randint( 1 , 20 )
result = 0
if f = = 0 : #加法
result = n1 + n2
elif f = = 1 : #減法,要先比較大小,防止輸出負數
n1, n2 = max (n1, n2), min (n1, n2)
result = n1 - n2
elif f = = 2 : #乘法
result = n1 * n2
elif f = = 3 : #除法,要比較大小,並迴圈取整除
n1, n2 = max (n1, n2), min (n1, n2)
while n1 % n2 ! = 0 :
n1 = random.randint( 1 , 10 )
n2 = random.randint( 1 , 10 )
n1, n2 = max (n1, n2), min (n1, n2)
result = int (n1 / n2)
print (n1, sym[f], n2, '= ' , end = '')
return result
print ( '輸入數字1進行四則運算' )
n = int ( input ())
#當輸入1時,進行四則運算,呼叫函式syzs()
if n = = 1 :
while True :
result = szys()
j = input ()
s = int (j)
if s = = result :
print ( 'right' )
else :
print ( 'error.,the answer is' , result )
|
6、測試執行
7、思路改進
...
...