自動生成小學四則運算題目(Python實現)

2022-08-26 00:15:29 字數 2463 閱讀 7692

通過python語言編寫乙個能夠自動生成小學四則運算的程式(注意是給小學生用的,要是結果出現負數的話他們會很迷茫的!),同時,除了整數外,還要支援真分數的四則運算。

psp2.1

任務內容

計畫完成需要的時間(min)

實際完成需要的時間(min)

planning

計畫

50

60

estimate

估計這個任務需要多少時間,並規劃大致工作步驟

2030

analysis

需求分析 (包括學習新技術)

6090

design

具體設計

5060

coding

具體編碼

400500

test

測試(自我測試,修改**,提交修改)

200250

postmortem & process

improvement plan

事後總結 ,並提出過程改進計畫

3050

summary

合計810

首先以「1+1=」為例,我們要生成簡單的四則運算題目需要兩個整數或是分數,為了將答案與算式分類,我們分別用兩個列表來儲存。

q用來儲存問題,ans用來儲存答案。我們可以通過random模組生成一定區間裡的隨機數,分數也可以通過隨機生成分子和分母的形式隨機生成。同時分數可以使用fraction模組,可以同時實現分數與整數的運算以及分子和分母的約分。

下面是各個函式的**:

def c1(q, ans): 

symbol = random.choice(['+', '-', '*', '/']) # 生成隨機符號

if symbol == '+':

n1 = random.randint(0, 20)

n2 = random.randint(0, 20)

elif symbol == '-':

n1 = random.randint(0, 20)

n2 = random.randint(0, 20)

n1,n2 = max(n1,n1),min(n1,n2)#防止出現負數

elif symbol == '*':

n1 = random.randint(0, 20)

n2 = random.randint(0, 20)

else:

n1 = random.randint(0, 20)

if n1 == 0:

n2 = random.randint(1, 20)

else:

n2 = random.randint(1, n1 + 1)

def createf(): #生成分數

fz1 = random.randint(0, 20)

if fz1 == 0:

fm1 = random.randint(1, 20)

else:

fm1 = random.randint(1, 20)

f1 = fraction(fz1, fm1)

fz2 = random.randint(1, 20)

fm2 = random.randint(20, 20)

f2 = fraction(fz2, fm2)

return f1, f2

def c2(q,ans):    #兩個分數的四則運算

symbol = random.choice(['+','-','*','/'])

f1,f2 = createf()

if symbol =='+':

while f1+f2>1:

f1,f2 = createf()

elif symbol =='-':

f1,f2 = max(f1,f2),min(f1,f2) #防止出現負數

elif symbol == '*':

while f1*f2>1:

f1,f2 = createf()

else:

while f1/f2>1:

f1,f2=createf()

在原有程式的基礎上,我新增了乙個轉換假分數答案為帶分數答案(儲存在ans2列表中)的函式f(f),以便當學生給出帶分數答案時程式不會認為是錯誤的。

def f(f): #分數的轉換

a=f.numerator #分子

b=f.denominator #分母

if a%b==0: #為整數

return '%d'%(a/b)

elif a

更新並修改了主函式後**執行結果如下:

自動生成小學四則運算題目

題目要求 能自動生成小學四則運算題目 注意是給小學生用的,要是結果出現負數的話他們會迷茫的!除了整數外,還要支援真分數的四則運算 psp psp2.1 任務內容 計畫完成需要的時間 min 實際完成需要的時間 min planning 計畫60 80estimate 估計這個任務需要多少時間,並規劃...

自動生成小學四則運算題目

gitee的源 問題 能自動生成小學四則運算題目,且不能出現負數 除了整數外,還要支援真分數的四則運算 工具列表 psp psp 指標 預估耗時 分鐘 實際耗時 分鐘 計畫 估計該任務需要多少時間 180162 需求分析與思路解析 3040 實現 4562 測試 22 優化 2043 寫部落格20 ...

自動生成小學四則運算題目

主要功能 運算小學四則運算,可以選擇加減乘除以及混合運算。設計思想 首先思考運算數字範圍,考慮小學生的運算能力,然後分類運算方法,分為加減乘除混合運算,然後可以選擇是繼續做題還是退出程式,可以總結做對或者做錯的題數,方便計算正確以及錯誤的題數。源 小學四則運算 include include inc...