2
我已經寫如果相等,誤差比較這代碼:類型錯誤:NoneType,可以當大於
def reclen(n):
for i in range(1,n):
if (10**i)%n==1:
return(i)
for j in range(1,20):
if reclen(j)==6:
print(j)
它將運行,1-20滿足l之間輸出所述整數/ N =具有6個重複位。如果我在第二循環中改變子句:
for j in range(1,20):
if reclen(j)>6:
print(j)
我期望得到滿足1-2 1之間的整數/ N = 6個或更多的重複數字,而是,我得到一個錯誤,告訴我有一個類型錯誤。我已經在所有輸出中嘗試了抹灰int()函數,但似乎我不允許將輸出作爲任何東西,但確切地等於一個值。
它適合我!第二個子句輸出17,19 - 我正在使用anaconda(python 2.7.9) – farhawa
請注意,'None'可以與python2.7中的int進行比較 - 但結果是依賴於實現的IIRC。 – mgilson
奇怪的是,它將在不同的版本中工作...問題源於reclen()輸出「無」似乎?當定義reclen()時,我可以這樣寫: def reclen(n): 對於i在範圍內(1,n + 1): if(10 ** i)%n == 1: return(i) return(0) 並且代碼將返回17,19,如在此實現中所預期的那樣。**我無法編輯回覆以正確顯示代碼 – Jokkeyo