索引字符串,获取SyntaxError/Python



所以当我做这样的事情时:

x=str(19072000)
day=x[:2]
month=x[2:4]
year=x[4:]
final=day+"/"+month+"/"+year
print(final)
I get:19/07/2000
>>>x=str(01011930)
File"(Stdin)",line 1
x=str(01011930)
^
SyntaxError:invalid token

但当我尝试做同样的事情,但使用01011930时,我得到了SyntaxError:无效令牌,有什么想法吗?

问题是整数常量中的前导0

在Python 2中,以0开头的整数被视为八进制常数,这不允许使用数字89(即使没有它们,得到的数字也会与您想要的大不相同(。

在Python3中,除了0本身之外,根本不允许使用它。(在Python3中,八进制常量以0o开头,类似于十六进制常量如何以0x开头。(

要执行您想要的操作,只需移除前导零即可。然后你可以使用归零键盘

x = "%08d" % 1011930

这将把x设置为字符串'01011930'。然后你的索引就可以工作了。

等效地,您可以使用:

x = "{:08d}".format(1011930)

最新更新