我遇到了一件很奇怪的事情,至少对我来说是这样。
if month not in (02, 04, 06, 11):
print "Good"
每当我添加09
到元组时,我都会收到一个错误:SyntaxError: invalid token
它只针对这个特定的数字。
任何的想法?
我遇到了一件很奇怪的事情,至少对我来说是这样。
if month not in (02, 04, 06, 11):
print "Good"
每当我添加09
到元组时,我都会收到一个错误:SyntaxError: invalid token
它只针对这个特定的数字。
任何的想法?
当您在数字上使用前导0
时,Python 将其解释为base-8(八进制)数字。删除前导0
:
>>> 10
10
>>> 010
8
>>> 9
9
>>> 09
File "<stdin>", line 1
09
^
SyntaxError: invalid token
Python 3 对此进行了改进;现在所有带前导的数字0
都被认为是无效的,要创建一个八进制数字,您总是必须使用0o
前缀:
>>> 010
File "<stdin>", line 1
010
^
SyntaxError: invalid token
>>> 0o10
8
带前导0
s 的数字被认为是八进制,因此09
无效...只需删除 0
我认为您需要在可能将其解释为八进制数的数字之前去掉零...
你可以试试这个。(已经回答了为什么 09 提供错误的原因)
month='05'
if month not in ('02', '04', '06', '11','09'):
print "Good"