此作業的要求參見[
](1) 給出每個功能的重點、難點、程式設計收穫。
結對程式設計夥伴:袁豔春
開發環境 windows10 (全程使用季嘉同學筆記本開發)
開發工具是 pycharm
版本控制:git
coding:
功能1. 四則運算
為了快出成果,你快速造個控制台的版本,包括以後改版成更優秀介面的核心功能,並考慮到擴充套件。
你在老師面前作如下表演 (數字你用excel驗算過了,ui的賣萌部分你還沒有想好) 。
重難點:
如何隨機的生成式子,採取的方法用python裡面的random函式去處理;如何將計算結果產生的是小數如何轉化為分數,採用python裡面帶的fraction函式函式
關鍵**:
def _equations(): #功能一生成隨機式子執行截圖:ops = ['+', '-', '*', '/']
n1 = r(1, 9) #產生隨機數
n2 = r(1, 9)
n3 = r(1, 9)
n4 = r(1, 9)
o1 = r(0, 2)
o2 = r(0, 3)
o3 = r(0, 3)
equa = str(n1) + ops[o1] + str(n2) + \
ops[o2] + str(n3) + \
ops[o3] + str(n4)
return (equa)
功能2. 支援括號
老師看了你的表演,大大讚賞了你。然後她說,"你的題庫裡怎麼都是沒有括號的題呢,我記得你當初括號就掌握得不好啊。"你的臉紅了,對老師說,"給我2個小時時間,我給你乙個新版本,有括號的。"
兩小時後,在老師面前你在控制台下輸入f4,然後回車。
重點難點:
對於括號的處理,劃分括號的位置,採取的方式是借助python裡面的詞典進行處理問題。本來想試一下資料結構中的知識,棧,將中綴表示式轉化為字尾表示式,但水平不夠,沒有實現這個功能。
**:
def _formula(): # 生成隨機式子執行截圖:ops = ['+', '-', '*', '/']
n1 = r(1, 9) # 產生隨機數
n2 = r(1, 9)
n3 = r(1, 9)
n4 = r(1, 9)
o1 = r(0, 2)
o2 = r(0, 3)
o3 = r(0, 3)
dic =
test = r(0, 9)
eqa = dic[test]
return (eqa)
功能3. 限定題目數量,"精美"列印輸出,避免重複
"就這點兒題,像你當年做得那麼快,一會兒就完成啦!"老師說,"另外,我想列印出來,上課也不能帶台機器。又另外,你把答案也打出來唄,我把答案剪掉,題目給學生做。"
一看需求這麼多,你生怕她會說,"這都是很簡單的功能,你一定能完成吧"。你知道如果承諾今晚,明早交工的時候她一定想出了更多可怕的需求,你趕緊說,"老師我現在就做。"
你忘記怎麼呼叫印表機了,就把答案與題目橫向對齊,輸出在檔案的右邊。告訴老師txt檔案可以用word開啟,也能列印。她滿意而意味深長地笑了,表示同意。
你輸入命令執行的時候,腦袋比手指頭還疼。
重點難點:
掌握了rjust()函式,學會了python中對檔案的輸入輸出
**:
def input_count(n):執行截圖:功能4. 支援分數出題和運算try:
n = int(n)
if n >= 0:
data = open("result.txt", 'w+')
for i in range(n):
eqa = _formula()
result_right = run_count(eqa)
eqa = eqa + "="
print(eqa.ljust(40), result_right,file=data)
data.close()
else:
print('題目的數量必須是 正整數')
except:
print('題目的數量必須是 正整數')
return(0)
國慶節後,你終於又回到美麗優雅並且正常的東北師範大學淨月校區,在去食堂的路上偶遇你心目中的女神 (或男神,請自行替換)。她說,"哎呀,這跟我們《構建之法》課上的題目要求一樣啊,真是巧合。"
"不要客氣,**拿去!反正我也沒用。"你說,"如果有需求變更或擴充套件,儘管找我。"
你伏筆埋得不錯。女神馬上說,"對啊,有一點兒點兒不一樣,你午飯時間加加班幫我改出來吧。"
她的題目還要求支援分數運算,你不禁想到了功能1中你特意規避了一些題目不出。她想要的是下面的樣子:
重點:
對於分數的處理,用了fraction()函式,比較方便
**:
def run_count(eq): #計算式子值函式執行截圖:result = f(eval(eq)).limit_denominator(1000) #利用eval函式計算式子的值
result = str(result)
return(result)
(2)給出結對程式設計的體會,
通過這次的結對程式設計作業,我明白了團隊協作的重要性,兩個人相互督促,互相**對方的拖延症,共同完成作業。我們兩個人合作非常愉快,使我的能力得到了進一步的提高。在過程中,我們遇到過很多的困難,通過查閱資料,互相討論商量學習,完成此次作業。
(3) 至少5項在編碼、爭論、複審等活動中花費時間較長,給你較大收穫的事件。
花費時間比較長的事件:
(1)功能一中,python中random的使用,查詢資料花費不少時間
(2)如何將產生的式子進行計算,通過諮詢其他同學了解了python中的eval()函式。
(3)對於括號的處理,又去學習了資料結構中的中綴表示式和字尾表示式,花費時間較長,但最終未能實現
(4)括號運算,掌握了python中的字典
(5)修改**中不規範的命名
要求2給出結對開發的截圖證據,要求截圖能夠證明你們是在結對程式設計。 (5分)
由於疫情原因,採取線上合作的模式,證明材料:
要求3使用coding.net做版本控制。checkin 前要求清理 臨時檔案、可執行程式,通常執行 build-clean可以達到效果。(25分)
coding:
python四則運算程式 四則運算(Python)
四則運算程式 一 資訊 二.題目要求 寫乙個能自動生成小學四則運算題目的程式,然後在此基礎上擴充套件 除了整數以外,還要支援真分數的四則運算,例如 1 6 1 8 7 24 程式要求能處理使用者的輸入,判斷對錯,累積分數 程式支援可以由使用者自行選擇加 減 乘 除運算 三 import random...
四則運算試題生成,結對
此作業要求參見 結對夥伴 王艷鶴 功能1.四則運算 為了快出成果,你快速造個控制台的版本,包括以後改版成更優秀介面的核心功能,並考慮到擴充套件。你在老師面前作如下表演 數字你用excel驗算過了,ui的賣萌部分你還沒有想好 功能2.支援括號 老師看了你的表演,大大讚賞了你。然後她說,你的題庫裡怎麼都...
java四則運算
public class arithmetic implements serializable 除法 param number1 除數 param number2 被除數 param decimal 保留幾位小數點 return public static double divide string ...