相关疑难解决方法(0)

在Python中,以0开头的数字是什么意思?

当我输入前面带有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)

python python-2.x

57
推荐指数
5
解决办法
5万
查看次数

Python无法处理以0开头的数字字符串.为什么?

我刚刚在我的python解释器上执行了以下程序:

>>> def mylife(x):
...     if x>0:
...             print(x)
...     else:
...             print(-x)
... 
>>> mylife(01)
File "<stdin>", line 1
mylife(01)
        ^
SyntaxError: invalid token
>>> mylife(1)
1
>>> mylife(-1)
1
>>> mylife(0)
0
Run Code Online (Sandbox Code Playgroud)

现在,我已经看到了这个,但正如链接所说,对于八进制的0在python中不再起作用(即在python3中不起作用).但这不意味着应该正确解释以0开头的数字的行为吗?在base-2中还是在正常的base-10表示中?既然不是这样,为什么python表现得那样呢?这是一个实施问题吗?或者这是一个语义问题?

python syntax-error python-3.x

21
推荐指数
2
解决办法
8003
查看次数

Python:无效令牌

你们中的一些人可能会认识到这是Project Euler的问题编号11.带有网格的问题.

我试图在一个大的多维数组中复制网格,但它给了我一个语法错误,我不知道为什么

grid = [ 
[ 08, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91, 08 ],
[ 49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 04, 56, 62, 00 ],
[ 81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65 ],
...
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

  File "D:\development\Python\ProjectEuler\p11.py", line 3
    [ 08, …

python octal

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

python ×3

octal ×1

python-2.x ×1

python-3.x ×1

syntax-error ×1