我有一個關於python函數對於是如何工作的問題。我有一個我正在編寫的程序,其中涉及生成幾個數字的素因式分解。關於python_for_函數如何工作的困惑
for a in range(2,25):
print primefactorize(a)
當我在上述範圍內進行了測試,最後一個列表中的終端彈出是24的主要因子分解輸出,而不是25是否功能
for a in range(1,x):
僅通過每個運行值高達x-1?
感謝
我有一個關於python函數對於是如何工作的問題。我有一個我正在編寫的程序,其中涉及生成幾個數字的素因式分解。關於python_for_函數如何工作的困惑
for a in range(2,25):
print primefactorize(a)
當我在上述範圍內進行了測試,最後一個列表中的終端彈出是24的主要因子分解輸出,而不是25是否功能
for a in range(1,x):
僅通過每個運行值高達x-1?
感謝
我覺得你的困惑是range
range(2,25)
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
從文檔:
這是一個多功能的函數來創建一個包含算術級數 名單。它最常用於for循環。參數必須是 是純整數。如果省略step參數,則缺省值爲1. 如果省略start參數,則缺省值爲0.完整形式 返回步驟1中的純整數列表[start,start + step,start + 2 * 。 ..]。如果步驟是肯定的,最後一個元素是最大的開始 + i *步驟小於停止;如果step是負數,最後一個元素是最小的start + i * step大於stop。步驟不得爲零 (否則會引發ValueError)。例如:
在數學這被稱爲start
inclusive, stop
exclusive interval,看起來像這樣:
[start, stop)
這非常有幫助,謝謝。不過,我還有一個問題。有沒有辦法編輯我編寫的範圍函數,以便在不更改數字的情況下將其轉換爲25?非常感激。 –
@KevinBradner:如果你想要一個完全包含的時間間隔,你可以很容易地編寫你自己的函數:'def inclusive_range(start,stop):return range(start,stop + 1)'。然後,你可以使用'inclusive_range(2,25)'來得到你想要的。 – abarnert
不要忘記,你可以'在控制檯輸入'幫助(範圍)。您也可以使用引號 - 例如'help(「for」)' - 當你想看到關鍵字的幫助。 – DSM
回答你的問題:是的。 – alexis