索引一个字符串,获取语法错误Python

问题描述 投票:0回答:1

因此,当我做这样的事情。

    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:invalid token,任何想法为什么?

python indexing syntax-error
1个回答
1
投票

问题是前面的 0 中的整数常量。

在 Python 2 中,一个以 0 取为八进制常数,它不允许数字 89 (即使没有它们,结果的数字也会与您的意图大相径庭)。

在 Python 3 中,它根本不被允许,除了 0 本身。 八进制常数以 0o 在Python 3中,类似于十六进制常量以 0x.)

要做你想做的事,只要去掉前面的零。 然后你可以使用零点垫。

x = "%08d" % 1011930

这将设置 x 到字符串 '01011930'. 那么你的索引就可以用了。

同样,你也可以使用。

x = "{:08d}".format(1011930)
© www.soinside.com 2019 - 2024. All rights reserved.