我們在剛開始上課的時候介紹過乙個小學四則運算自動生成程式的例子,請實現它,要求:
①能夠自動生成四則運算練習題
②可以定製題目數量
③使用者可以選擇運算子
④使用者設定最大數(如十以內、百以內等)
⑤使用者選擇是否有括號、是否有小數
⑥使用者選擇輸出方式(如輸出到檔案、印表機等)
⑦最好能提供圖形使用者介面(根據自己能力選做,以完成上述功能為主)
①駕駛員: 胡博智
②領航員: [趙德明](
**倉庫鏈結+軟體exe
``` python
def creatfloat(max_int):
fl = str(random()*randint(5,max_int))
r = fl.split('.')
r1 = r[1][:2]
res = r[0]+'.'+r1
return res
result = ""
res1 = "{}"*(numn-1)
rr = findall('{}', res1)
for i in range(len(rr)):
result += rr[i]+choice(sym)
result += '{}'
st = randint(0,int(len(str(result))/6))# 隨機字串匹配的開始位置
res2 = findall('{}[+|-]{}',result[st:])# 尋找符合規則的運算節點
res3 = findall('{}[×|÷|+|-]{}[×|÷|+|-]{}',result[st:])# 尋找符合規則的運算節點
if kuohao:
f=0;st=0;en=10
if randint(0,10)>5 and numn>3:
try:
for dd in res3[:randint(1,len(res3))]:
result = sub(dd,"({})".format(dd),result)
f = 5
except:
pass
if f==5:
st = 0
en = 8
else:
st = 6
en = 10
if randint(st,en)>5 and numn>2:
try:
for dd in res2[:randint(1,len(res2))]:
result = sub(dd,"({})".format(dd),result)
except:
pass
if not findall("\(.*\)",result):
res2 = findall('{}[×|÷|+|-]{}', result[st:]) # 尋找符合規則的運算節點
for dd in res2[:randint(0, len(res2))]:
result = sub(dd, "({})".format(dd), result)
if not findall("\(\(.*\)\)",result):
# result += '='
for i in range(numn):
result = sub('{}', "", result, 1)
return result.format(nums)
else:
return false
!(
!(!(
!(在這次結對作業中,我與趙德明分工明確,思路清晰,對於有分歧的地方積極討論,最終得到滿意的結果。
這次結隊程式設計作業中,我擔任駕駛員的職責,我負責整體程式的設計和編寫。在編寫過程中,我遇到了很多問題,在經過網上查詢資料和對原始碼的閱讀終於實現了想要的效果,最後又遇到了程序上的問題,對這方面不是很精通,最後放棄了開子程序,換成了直接呼叫。在修改多次後,最終實現了作業要求的基本功能!
軟體工程(2019)結對程式設計第二次作業
我們在剛開始上課的時候介紹過乙個小學四則運算自動生成程式的例子,請實現它,要求 開發使用的語言是c 物件導向程式設計,定義了乙個類calculator,具體定義如下 class calculator 這幾個函式用於判斷輸入資料是否非法,正確即返回true,非法即返回false bool isrigh...
軟體工程第二次作業 結對程式設計
兩人組成一隊,進行結對程式設計 從第一次軟體工程作業中選出一人的作業作為這次作業的基礎 設計乙個圖形介面 gui 的四則運算應用程式,可以是pc桌面的圖形介面程式 網頁程式或者手機程式 設計的應用程式可以完成加法 減法 乘法 除法運算 應用程式可以完成真分數的四則運算 有退格和清屏的功能 讓程式能接...
軟體工程第二次作業 結對程式設計
黎育權 1500802033 李凡 1500802031 gui使用qt整合開發環境進行設計,ui主要由選單欄,32個label,10個lineedit,5個pushbutton,乙個lcdnumber構成,label用於重新整理和顯示資訊,lineedit用於輸入答案,pushbutton用於操作...