看板 Python 關於我們 聯絡資訊
Python有一個特點是有一些基本的built in functions讓程式碼變得簡潔。 熟悉這些functions應該是練習這些題目的目的之一吧 像這個問題牽涉到 1). 相加 2). 從1到n 所以應該用sum和range這兩個函式才是pythonic的作法。 sum(1 / i for i in range(1, n+1, 2)) - sum(1 / i for i in range(2, n+1, 2)) 當然這背後是有一些generator expression在運作 但是熟悉這種感覺應該是學Python中蠻重要的過程吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.211.42 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1522062454.A.6E9.html
FakeGPS: 這個好 一行就搞定了 03/26 20:22
aszx4510: 這個idea很棒 轉換思考角度 03/26 21:32
somoskylin: 用內建好的真的比較好 03/26 21:44
vfgce: 更明確的一行,sum(1/i*pow(-1,i+1) for i in range(1,n+1)) 03/27 12:44
uranusjr: (-1)**(i+1) 比 pow 好一些 03/27 12:54