2014-11-14 2 views
-3

(CentOS는은) 내가 좋아하는 (새로운 라인) 문자 목록을 생성해야합니다문자 목록 A를 생성하는 방법 - ZZZZZ

A 
B 
C 
... 

AA 
AB 
AC 
... 

에있는 모든 방식

ZZZZZ 

누구나 bash 또는 perl 스크립트 또는 파이썬 코드를 사용할 수 있습니까?

감사

어쩌면
+2

시퀀스가 있습니다. 'AA'가'B'와 반대로'A'의 바로 뒤에 오는 이유는 무엇입니까? 'AZ'다음은 무엇입니까? 규칙을 영어로 정의 할 수도없는 경우 코드로 변환 할 수 없습니다. – abarnert

+0

시도한 것을 보여주십시오. – Paolo

+2

또한 StackOverflow는 "이 코드 작성"서비스가 아닙니다. 무언가를 직접 써보고 어디에서 붙어 있는지 설명하고 누군가가 당신을 도울 수 있습니다. 누군가가 당신을 위해 그것을하기를 원하면 계약자를 고용해야합니다. – abarnert

답변

0
import itertools,string 

with open("output.txt","w") as f: 
    for i in range(1,6): 
     f.write("\n".join(map(str,itertools.product(string.ascii_uppercase,repeat=i)))) 
     f.write("\n") 

는)

+1

'str'은 순열에 매핑하려는 것이 아니라고 생각합니다. 아마 '' '. 합류? 또한, 왜'list (...) '인가? – abarnert

+1

원인 im dumb : P ... 예, str과 함께 알았지 만 작업의 최소한 한 부분을 줄 것이라고 생각했습니다 : P –

+1

OP의 의견에 따라 itertools.product가 유용 할 수 있습니다 , 너무. – TidB

8

펄의 ++ 연산자는 숫자가 아닌 문자열 않습니다에 적용.

perl -E'my $x = "A"; say $x++ while $x ne "AAAAAA"' 
+0

안녕하세요, 내 것보다 훨씬 낫습니다. –

0

배쉬 :

printf %s\\n {A..Z} {A..Z}{A..Z} {A..Z}{A..Z}{A..Z} {A..Z}{A..Z}{A..Z}{A..Z} {A..Z}{A..Z}{A..Z}{A..Z}{A..Z} 

(그것은 빠르고 아니지만, 당신이 73메가바이트 명령 행을 구성하기에 충분한 메모리가있는 경우, 그것을 잘 작동합니다.) 나는 그 무엇을 이해하지 못하는

+0

이 bash 라인은 훌륭하고 71M 만 (!)입니다. 정말 고맙습니다! – sharpy1064

관련 문제