求01111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 对应的二进制,虽然可以:
int('0111111111111111111111111111111111111111111111111111111111111111',2)
#输出:9223372036854775807
但感觉连续敲或这么多的1特别的foolish,有没有更便捷的方法?
第一种方法:
from functools import reduce
x = reduce(lambda x,y:x*10+y, [1]*63)
print(int(str(x),2))
#输出:9223372036854775807
第二种方法:
print(int(''.join(['1']*63),2))