Re: [問題] txt內容切割加總

看板Python作者 (阿哩不達)時間9年前 (2014/10/11 18:36), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串5/8 (看更多)
假設檔案內容大致如下,已按照整數部分排序,中間可缺某整數區段, 0.01 0.02 0.03 0.09 1.03 1.02 1.01 1.04 1.09 3.01 3.22 3.05 4.01 4.03 4.02 5.06 5.01 5.07 7.01 7.02 其中沒有2.xx的部份。 程式碼如下,參考看看 def acc(f): # 這是個generator function total = 0 # 儲存某整數區段的和 n = None # 某整數區段的整數部分 for line in f: lf = float(line.strip()) ln = int(lf) if n == ln: # 在同個整數區段內,加起來 total += lf else: if not n is None: yield total # 進入下個整數區段,yield目前的和 n = ln total = lf yield total with open('test.txt', 'rt') as f: # 開檔 for a in acc(f): # acc會回傳某整數區段的和 print(a) 不知道這麼寫如何? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.82.237 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1413023761.A.4B9.html

10/11 19:28, , 1F
不是說"there is only one obvious way to do it"的嗎?
10/11 19:28, 1F

10/11 19:29, , 2F
跟說好的不一樣! XD
10/11 19:29, 2F

10/11 20:30, , 3F
我覺得那是早期的口號,現在已經不適用了
10/11 20:30, 3F

10/11 21:12, , 4F
是 should be one, and preferably only one; 要所有事
10/11 21:12, 4F

10/11 21:13, , 5F
情都只有一種作法本來就不可能, 只能要求至少要有一種
10/11 21:13, 5F
文章代碼(AID): #1KEGWHIv (Python)
討論串 (同標題文章)
文章代碼(AID): #1KEGWHIv (Python)