【发布时间】:2018-01-20 16:18:04
【问题描述】:
我有一个不寻常的情况,该函数返回零,但是当我在调试器中运行它时,上面的函数返回 1:
def solution(A):
n = range(1, len(A)+1)
if(len(A)!=len(n)):
return 0
s = sorted(A)
if(s==n):
return 1
else:
return 0
y = solution([4, 1, 3, 2])
print(y)
这是 Python 中的一些常见行为吗?
【问题讨论】:
-
" 该函数返回零,但是当我打印输出时,它在我的系统上打印零" 是的,有什么问题?
-
@Jean-FrançoisFabre 我在调试器中运行它,上面的函数返回 1...这就是我问的原因
-
可能是因为当您调试它时,您使用的是 python 2,其中
range是list -
@mourinho:你在调试器中运行了这个,你得到了
1,但没有调试器你得到了0,你的问题中没有。 -
@mourinho:您可能想要添加运行调试器的方式,因为您需要修复它,这样您以后就不会遇到此类问题。遇到意外行为时,您确实需要准确了解您的 Python 版本。
标签: python algorithm list sorting data-structures