请问如何用 Python 实现如下计算功能

2019 年 1 月 3 日
 talentl
对于列表中的所有数,计算 2 的 i 次幂的和
比如
range (1,5)
sum= 2^1+2^2+2^3+2^4+2^5

刚开始学习,可能问题很初级,还望不吝赐教,非常感谢
4692 次点击
所在节点    Python
40 条回复
hahastudio
2019 年 1 月 3 日
range(a, b): 2 ** (b + 1) - 2 ** a
talentl
2019 年 1 月 3 日
@hahastudio 如果(a,b)不是连续数列你这个方法就不行了
Xiaobaixiao
2019 年 1 月 3 日
sum([2<<i for i in 你的列表])/2
talentl
2019 年 1 月 3 日
@Xiaobaixiao 不对呢亲
sum([2<<i for i in (1,6)])/2
Out: 66
YvesX
2019 年 1 月 3 日
楼主还在会搞错缩进的阶段,你们秀什么位运算……
帮助新人要像 4L 好同志学习……
hflyf123
2019 年 1 月 3 日
@YvesX 哈哈楼里高手很多啊,辣么大表达式都用上,可是新手接触这个太早了
msg7086
2019 年 1 月 3 日
求 1 到 5 范围的话 (1<<6)-1 就行了
Azone
2019 年 1 月 3 日
reduce(lambda x, y: x + 2 ** y, range(1, 6))
Azone
2019 年 1 月 3 日
reduce(lambda x, y: x + 2 ** y, range(1, 6), 0)
NB40B938mff85mtq
2019 年 1 月 3 日
@hflyf123 我竟然没想到可以这么写
Cooky
2019 年 1 月 3 日
@talentl 等差数列都没学过吗?
Cooky
2019 年 1 月 3 日
@talentl 啊不对不是等差,反正有公式
HuahuaWang
2019 年 1 月 3 日
@talentl 两个相减不就行了吗。。。
alvin666
2019 年 1 月 3 日
lz 缩进都不会楼上就别为难 lz 了...
talentl
2019 年 1 月 4 日
@Cooky
@HuahuaWang
如果不是有规律数列呢,公式也能套用吗?
AlexMercerZ
2019 年 1 月 4 日
sum([2**i for i in range(1, 5)]) 列表推导式 最 python 的用法
talentl
2019 年 1 月 4 日
@AlexMercerZ
这是最符合我水平的答案,谢谢
AlexMercerZ
2019 年 1 月 4 日
@talentl py 的精髓就是简单 易用 复杂,晦涩的不可取 越简单越好 个人觉得
a226679594
2019 年 1 月 7 日
这好像我初中做的数学题
talentl
2019 年 1 月 7 日
@a226679594
求通项公式是不

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/523355

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX