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