2013-03-01 3 views
0

나는 증분 목록 루프를 만들려고 노력하고 있습니다.파이썬 증가 문자 루프

다음을 수행하는 루프를 달성하기를 원합니다. loop through charset1 a-Z. 일치하는 항목이 없으면 aa-ZZ 등으로 루프를 추가하십시오. 루프를 수행하는 좋은 방법을 찾지 못하는 것 같습니다.

import itertools 
result = "password" 
charset1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] 
charset2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] 
charcount = 1 

while i != result 
    finalchar = charset1[-1] 
    finalset = charset1[-1] * charcount 
    for check in 
+1

당신은 자신에게 작업을 많이 절약 할 수 있습니다를'charset1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"'등, 또는 import string에 의해; charset1 = string.lowercase; charset2 = string.letters'. –

답변

1

당신은 템플릿으로 repeat 매개 변수 itertools.product를 사용하여 다음과 같은 사용할 수 있습니다 정의하여

from string import ascii_letters 
from itertools import product 

for i in range(1, 3): # do 1 and 2 chars 
    chars = product(ascii_letters, repeat=i) 
    for combo in chars: 
     print(''.join(combo)) 
+0

다른 문자 세트를 사용하기를 바랍니다. 그것은 스크립트에 정의되어 있습니다. – user1451070

+0

[편집] nvm 그것을 알아 냈다. 도와 줘서 고마워. – user1451070