雖然網上有很多有關遞歸的信息,但我還沒有發現任何能夠應用於我的問題的信息。我對編程還很陌生,所以請原諒,如果我的問題是微不足道的。Python:遞歸
感謝您的幫助了:)
這是我想結束了一下:
listVariations(listOfItems, numberOfDigits)
>>> listVariations(['a', 'b', 'c'], 1)
>>> ['a', 'b', 'c']
>>> listVariations(['a', 'b', 'c'], 2)
>>> ['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
>>> listVariations(['a', 'b', 'c'], 3)
>>> ['aaa', 'aab', 'aac', 'aba', 'abb', 'abc', 'aca', 'acb', 'acc', 'baa', 'bab', 'bac', 'bba', 'bbb', 'bbc', 'bca', 'bcb', 'bcc', 'caa', 'cab', 'cac', 'cba', 'cbb', 'cbc', 'cca', 'ccb', 'ccc']
但到目前爲止,我只能夠拿出在那裏我需要指定一個函數/提前知道數字的位數。這是醜陋的錯誤:
list = ['a', 'b', 'c']
def listVariations1(list):
variations = []
for i in list:
variations.append(i)
return variations
def listVariations2(list):
variations = []
for i in list:
for j in list:
variations.append(i+j)
return variations
def listVariations3(list):
variations = []
for i in list:
for j in list:
for k in list:
variations.append(i+j+k)
return variations
oneDigitList = listVariations1(list)
twoDigitList = listVariations2(list)
threeDigitList = listVariations3(list)
這可能是很容易的,但我不能拿出來串聯字符串時,函數調用本身就是一個很好的方式。
感謝您的努力:)
你真的不應該使用`list`作爲變量名。它是內建`list`類的構造函數,當你這樣做的時候,你會對它進行遮蔽。 – aaronasterling 2010-11-26 11:24:01
採取的一點 - 不會再發生... – TIM 2010-11-26 12:18:31