鱼C论坛

 找回密码
 立即注册
查看: 12887|回复: 32

[知识点备忘] 第034讲:序列(中)

[复制链接]
发表于 2022-10-5 19:21:00 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习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,直接写要加多少等等。


滴滴滴~打卡
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-28 05:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表