当我输入前面带有0的小整数到python时,它们会产生奇怪的结果.为什么是这样?
>>> 011
9
>>> 0100
64
>>> 027
23
Run Code Online (Sandbox Code Playgroud)
注意:Python版本2.7.3我在Python 3.0中对此进行了测试,显然现在这是一个错误.所以这是版本特定的.
编辑:他们显然仍然是整数:
>>> type(027)
`<type 'int'>`
Run Code Online (Sandbox Code Playgroud) 由于八进制前缀现在0o在Python 3中,因此再写不合法0777.好的.
那么为什么编写00哪个评估正确0而其他数字触发语法错误是合法的呢?
>>> 01
...
File "<interactive input>", line 1
01
^
SyntaxError: invalid token
>>>
>>> 00
0
Run Code Online (Sandbox Code Playgroud) 我正在这里解决这个 LeetCode 问题,并且正在实施一种强力方法和一种迭代方法。迭代方法工作得很好,但我的蛮力方法似乎遇到了边缘情况。我想判断一个字符串是否有3个连续的数字,并返回其中最大的3个连续的数字。我的代码如下:
class Solution:
def largestGoodInteger(self, num: str) -> str:
if str(999) in num:
return "999"
elif str(888) in num:
return "888"
elif str(777) in num:
return "777"
elif str(666) in num:
return "666"
elif str(555) in num:
return "555"
elif str(444) in num:
return "444"
elif str(333) in num:
return "333"
elif str(222) in num:
return "222"
elif str(111) in num:
return "111"
elif str(000) in num:
return "000"
else:
return ""
Run Code Online (Sandbox Code Playgroud)
由于某种原因,即使字符串在字符串中不连续,也会101010返回该字符串。我认为该运算符可能会将字符串作为数组进行评估并迭代字符串中的每个元素,但根据 …