實踐能力的提高當然就是得多動手了,那麼就從第乙個個人專案開始吧,用一周的時間完成乙個基於控制台的四則運算程式,實現乙個自動生成小學四則運算題目的命令列程式。
使用python或scratch實現四則運算
生成的題目中如果存在形如e1 ÷ e2的子表示式,那麼其結果應是真分數。
每道題目**現的運算子個數不超過3個。
程式一次執行生成的題目不能重複,即任何兩道題目不能通過有限次交換+和×左右的算術表示式變換為同一道題目。例如,23 + 45 = 和45 + 23 = 是重複的題目,6 × 8 = 和8 × 6 = 也是重複的題目。3+(2+1)和1+2+3這兩個題目是重複的,由於+是左結合的,1+2+3等價於(1+2)+3,也就是3+(1+2),也就是3+(2+1)。但是1+2+3和3+2+1是不重複的兩道題,因為1+2+3等價於(1+2)+3,而3+2+1等價於(3+2)+1,它們之間不能通過有限次交換變成同乙個題目。
生成的題目存入執行程式的當前目錄下的exercises.txt檔案,格式如下:
四則運算題目1
四則運算題目2
……其中真分數在輸入輸出時採用如下格式,真分數五分之三表示為3/5,真分數二又八分之三表示為2』3/8。
6. 在生成題目的同時,計算出所有題目的答案,並存入執行程式的當前目錄下的answers.txt檔案,格式如下:
1. 答案1
2. 答案2
特別的,真分數的運算如下例所示:1/6 + 1/8 = 7/24。
程式應能支援一萬道題目的生成。
統計結果輸出到檔案grade.txt,格式如下:
correct: 5 (1, 3, 5, 7, 9)
wrong: 5 (2, 4, 6, 8, 10)
repeat:2
repeatdetail:
(1) 2,45+32 repeat 3,32+45
(2) 5,3+(2+1) repeat 7,1+2+3
解釋:correct: 5 ----5道題目正確,正確的題號 1,3,5,7,9
wrong:5 -----5道題目錯誤,錯誤的題號 2,4,6,8,10
repeat:2 2---組題目重複
(1) 第一組 題號2,題目 45+32 與題號3的題目重複,題號3為 32+45
(2)第二組 題號5,題目 3+(2+1) 與題號7的題目重複,題號7為 1+2+3
其中「:」後面的數字5表示對/錯的題目的數量,括號內的是對/錯題目的編號。為簡單起見,假設輸入的題目都是按照順序編號的符合規範的題目。
小學四則運算程式設計實踐
1 import random 匯入隨機庫 2from fractions import fraction 匯入分數運算3 整數運算 4def c1 q,ans 5 operator random.choice 生成運算子 6if operator 7 n1 random.randint 0,10 ...
小學四則運算程式設計實踐
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 引入隨機函式,隨機生成四種運算型別和需要運算的數值 import random def szys sym a random.randint 0,3 n1 random.randint 1,20 n2 random.randint 1,20 result 0 if a 0 result n1...