作者ThxThx (洗洗睡)
看板Python
标题Re: [问题] 程式求救
时间Mon Mar 26 19:07:32 2018
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://webptt.com/cn.aspx?n=bbs/Python/M.1522062454.A.6E9.html
1F:推 FakeGPS: 这个好 一行就搞定了 03/26 20:22
2F:推 aszx4510: 这个idea很棒 转换思考角度 03/26 21:32
3F:推 somoskylin: 用内建好的真的比较好 03/26 21:44
4F:推 vfgce: 更明确的一行,sum(1/i*pow(-1,i+1) for i in range(1,n+1)) 03/27 12:44
5F:→ uranusjr: (-1)**(i+1) 比 pow 好一些 03/27 12:54