웹상에서 재귀에 대한 정보가 꽤 있지만, 내 문제에 적용 할 수있는 것을 찾지 못했습니다. 나는 여전히 프로그래밍에 익숙하지 않으므로 제 질문이 사소한 것이라면 저를 용서해주십시오. 이것은 내가 함께 종료 할 것입니다Python : Recursion
: 도와위한
감사 :
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
포인트가 찍혔습니다 - 다시는 발생하지 않습니다 ... – TIM