Re: [問題] 程式求救

作者: ThxThx (洗洗睡)   2018-03-26 19:07:32
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中蠻重要的過程吧
作者: FakeGPS (一次就上手)   2018-03-26 20:22:00
這個好 一行就搞定了
作者: aszx4510 (wind)   2018-03-26 21:32:00
這個idea很棒 轉換思考角度
作者: somoskylin (八七booboo)   2018-03-26 21:44:00
用內建好的真的比較好
作者: vfgce (小兵)   2018-03-27 12:44:00
更明確的一行,sum(1/i*pow(-1,i+1) for i in range(1,n+1))
作者: uranusjr (←這人是超級笨蛋)   2018-03-27 12:54:00
(-1)**(i+1) 比 pow 好一些

Links booklink

Contact Us: admin [ a t ] ucptt.com