作者:
ThxThx (洗洗睡)
2018-03-26 19:07:32Python有一個特點是有一些基本的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中蠻重要的過程吧
作者: vfgce (小兵) 2018-03-27 12:44:00
更明確的一行,sum(1/i*pow(-1,i+1) for i in range(1,n+1))