|
发表于 2022-10-5 19:21:00
|
显示全部楼层
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
len(range(2**63-1))
Traceback (most recent call last):
File "<pyshell#90>", line 1, in <module>
len(range(2**63-1))
OverflowError: Python int too large to convert to C ssize_t
我的电脑是64位,但是它报错了,这是为啥一,我还试了2的六十二次方、2的四十、2的三十二等等,都报错。查看了电脑,显示的是64位,是不是因为使用的Python版本的问题,我用的是3.7.3
但是输入2的三十一次方减1,就是对的。
>>> len(range(2**31-1))
2147483647
我的电脑显示的系统类型是64 位操作系统, 基于 x64 的处理器。
遇到的第二个问题是
s = [1,0,0,8,6]
>>> sum(s)
15
>>> sum(s,start=100)
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
sum(s,start=100)
TypeError: sum() takes no keyword arguments
它的结果不是115,结果报错了。想知道是什么原因然后怎么解决?
好像解决了:
>>> i = [3,2,0]
>>> sum(i,5)
10
后面不写start,直接写要加多少等等。
滴滴滴~打卡 |
|