005가 질문 할 : 정품 인증 코드 (200)를 생성하기 위해 파이썬을 사용하여

제목 : 사용 파이썬 생성기 (200)는 정품 인증 코드를 생략한다

준비 아이디어
# 활성화는 조합의 26 대문자와 10 자리 일반적으로
12 비트 또는 대부분 정품 인증 16 비트의 # 길이
문자에 # 활성화가 반복 될 수있다, 그 활성화를 보장하고해야 반복되지 않습니다

 

테스트 케이스

# 1, 무작위로 생성 된 문자 : 문자 번호
# 2 (200) 생성
# 3, 중복 제거를

 

코드 :

단계 : 숫자와 문자의 무작위로 생성 된 16 비트 문자열을

1. 통화 ramdom 모듈은 가져 오기가 임의 사용

2.choice () 메서드는 튜플 또는 문자열 확률의 목록을 반환

씨앗에서 임의의 문자열을 인수, random.choics에게 (씨앗)를 사용하여

3.join () 메소드는 새롭게 생성하도록 지정된 문자열에 접속 된 소자를 사용하는 시퀀스

조인 () 메소드 구문 : str.join (서열) 

""함께 무작위로 생성 된 캐릭터 (16)을 연결 .join (SA)를 사용하여

1  임포트 랜덤
 2  
3  # 生成16位字符串
4  데프 random_str () :
 5      종 = " 1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " 
6      SA = []
 (7)      에 대한 I  범위 (16 ) :
 8          sa.append (random.choice (시드))
 9      염 = "" .join (SA)
 10      인쇄 (염)
 11      리턴

제 2 공정 (200)의 열을 생성

random_str () 함수를 호출, 루프를 사용하여

1       I  범위 (200 ) :
 2          L.append (random_str ())

파트 III : 중복 활성화 코드를 제거

1. 중복 활성화 기능을 제거 추가

두 사람이 같은 활성화 코드 경우, 활성화 코드가 인쇄 할 활성화 코드 및 식별을 반복

2. 중복 활성화 코드를 제거

오버 활성화 코드의 식별 삭제할

DEF의 제거 ()
     에 대한 I  범위 (200이다 )
         에 대해 J  범위 (I + 1,200 ) :
             IF L [I] == L [J] :
                 인쇄 ( " 반복 활성화 코드 : " , L [I]) 
                L [I] = ' -1 '
    I = 0
     동안 난 < 렌 (L) :
         만약 L [I] == ' -1 ' :
             인쇄 ( " 删除重复元素" , L [I]) 
            L.remove (L [I]) 
            I - 1 =
         다른 : 
            I + = 1

 

다음과 같이 전체 코드는 다음과 같습니다

오기 랜덤 

#는 16 비트 스트링 생성 
데프 ) (random_str을 : 
    SEED = " 1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " 
    SA = []
     에 대한 I  범위 (16 ) : 
        sa.append합니다 (random.choice (SEED)) 
    소금 = "" .join (SA)
     인쇄 (소금)
     반환 소금 

#의 중복 제거 활성화 
DEF의 제거 ()
     에 대한 I 에서 범위 (200 인 )
         에 대한 J  범위 (I + 1200)
             IF L의 [I] == L [J] :
                 인쇄 ( " 반복 활성화 코드 : " , L [I]) 
                L [I] = ' -1 ' 


IF  __name__ == " __main__ " : 
    L = []
     위한 I  범위 (200 ) : 
        L.append (random_str ())   #은 이백 활성화 코드를 생성한다 
    L [0] = L [1.] # L을 확인할 때 [0] = L [1 ], 중복 삭제할지 여부 
    제거법 () 
    I = 0
     그동안 I는 < 렌 (L) :
        IF L [I] == ' -1 ' :
             인쇄 ( " 중복 요소를 제거 " , L [I]) 
            L.remove (L [I]) 
            I - = 1.
         밖의 : 
            I . = 1 +

 주 : 반복 활성화 코드를 삭제 한 후 예는 완벽하지 않다, 새로운 활성화 코드에 추가되지는 활성화 코드 (200)의 수가 부족을 초래할 수있다

추천

출처www.cnblogs.com/kkkhycz/p/11627862.html