这是什么情况呀 有朋友能指导我一下嘛 万分感谢
def url_to_mid(url):
"""
>>> url_to_mid('z0JH2lOMb')
3501756485200075L
>>> url_to_mid('z0Ijpwgk7')
3501703397689247L
"""
url = str(url)[::-1]
size = len(url) / 4 if len(url) % 4 == 0 else len(url) // 4 + 1
result = []
for i in range(size):
s = url[i * 4: (i + 1) * 4][::-1]
s = str(base62_decode(str(s)))
s_len = len(s)
if i < size - 1 and s_len < 7:
s = (7 - s_len) * '0' + s
result.append(s)
result.reverse()
return int(''.join(result))
报了这样的错 这是为什么呀
Failed example:
url_to_mid('z0JH2lOMb')
Expected:
3501756485200075L
Got:
3501756485200075
你最好看下python版本是否与要求一致,如果我没理解错,该代码应该是在python2中执行的,而你使用的python版本为python3。
在python2中,超过int取值范围的int类型会被自动转成long类型,也就是期待值为long类型,int值后面跟L。但是在python3中,都是int,没有long了,不会自动在超过int范围的整形后面自动加L,所以最终转成int类型时不再有L。
方法 | 描述 | 描述 |
---|---|---|
capitalize | 将字符串第一个字符转换为大写 | |
bytes.decode(encoding=“utf-8”,errors=“strict”) | Python3中没有decode方法,但是我们可以使用bytes对象的decode()方法来解码给定的bytes对象,这个bytes对象可以由str.encode()来编码返回。 | |
encode(encoding=“utf-8”,errors=“strict”) | 以encoding指定的编码格式编码字符串,如果出错默认报一个VaError的异常,除非errors指定的是’ignore’或者’replce’ | |
isalnum() | 如果字符串中至少有一个字符并且所有字符都是字母或者数字则返回True,否则返回Falst. | |
isalpha() | 如果字符串中至少有一个字符并且所有字符都是字母则返回True,否则返回Falst. | |
isnumeric() | 如果字符串中只包含数字字符,则返回True,否则返回Falst。 | |
isdigit() | 如果字符串中只包含数字字符,则返回True,否则返回Falst。 | |
join(分隔符) | 以指定字符串为分隔符,将所有元素合并为一个新的字符串。 | |
len(string) | 返回字符串的长度。 | |
lstrip() | 截掉字符串左边的空格或指定字符。 | |
rstrip() | 删除字符串末尾的空格 | |
split(str="",num=string.count(str)num=string.count(str)) | 以str为分隔符截取字符串,如果num有指定值则只截取num+1个字符串。 | |