我在Python寫了這個小程序來顯示一個十進制整數作爲其數字的排序列表:矛盾輸出在Python
import math
import sys
import os
l = []
def f(n):
if (math.floor(n/ 10) == 0):
l.append(n)
return l
else:
l.append(n%10)
return f(int((n - (n%10))/10))
def g(n):
return sorted(f(n))
print(g(1))
print ([1] == [1])
print (g(1) == g(1))
好像一旦運行,它應該回答[1], True, True
。
當我運行它,它給了我看似矛盾的答案[1], True, False
。爲什麼會發生?
Python不起作用,所以這樣的事情是可能的。 –
@EliSadoff:「功能」一詞並不意味着你的想法。 Python沒有[*純函數*](https://en.wikipedia.org/wiki/Pure_function),就是你想說的。 –
@MartijnPieters對不起,我的意思是說python不是純粹的功能。用純函數式語言中的g(1)== g(1)'將永遠是真實的。 –