相关疑难解决方法(0)

`xrange(2**100)` - > OverflowError:long int太大而无法转换为int

xrange 函数不适用于大整数:

>>> N = 10**100
>>> xrange(N)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
>>> xrange(N, N+10)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
Run Code Online (Sandbox Code Playgroud)

Python 3.x:

>>> N = 10**100
>>> r = range(N)
>>> r = range(N, N+10)
>>> len(r)
10
Run Code Online (Sandbox Code Playgroud)

range()Python 2.x 有py3k内置函数的后端吗?

编辑

我正在寻找一个完整的"懒惰"实现range(),而不只是部分实现它的一些功能.

python range biginteger xrange python-3.x

16
推荐指数
3
解决办法
1万
查看次数

如何返回正整数中的唯一数字位数

这是我目前拥有的:

unique = 0

while n > 0:    
    last, n = n % 10, n // 10    
        if not has_digit(n, last):    
            unique += 1    
    return unique
Run Code Online (Sandbox Code Playgroud)

我试图让它对于整数中的每个唯一数字,它输出有多少唯一数字.

例如:

unique_digits(123456) = 6    
unique_digits(112222) = 2

>>> unique_digits(8675309) # All are unique
    7
    >>> unique_digits(1313131) # 1 and 3
    2
    >>> unique_digits(13173131) # 1, 3, and 7
    3
    >>> unique_digits(10000) # 0 and 1
    2
    >>> unique_digits(101) # 0 and 1
    2
    >>> unique_digits(10) # 0 and 1
    2
    """
Run Code Online (Sandbox Code Playgroud)

python

-2
推荐指数
1
解决办法
1454
查看次数

标签 统计

python ×2

biginteger ×1

python-3.x ×1

range ×1

xrange ×1