'국정'에 부합 되 고 일련 번호 중의 숫자 4 를 제거 하 며 일부 번호 의 생 성 방식 에 대한 특수 처리

1760 단어 생 성
최근 일부 국민 의 요 구 를 충족 시 키 기 위해 생 성 된 번호 에 대해 서 는 4 라 는 숫자 를 제거 해 야 한 다 는 수요 가 있다.
기 존의 번호 생 성 은 흐름 방식 에 따라 생 성 되 며,숫자의 생 성 은 Oracle 의 seq 를 사용 합 니 다.이렇게 하면 숫자 에 숫자 4 가 들 어 가 는 것 을 피 할 수 없다.
1234,1244 등.
기 존의 seq 생 성 방식 을 수정 하지 않 기 위해 서 는 생 성 된 번 호 를 한 번 변환 하고 변환 을 통 해 그 중의 숫자 4 를 다른 숫자 로 대체 할 방법 을 강구 합 니 다.그러나 유일 성 을 확보 하기 위해 서 는 직접 교체 처 리 를 할 수 없다.
우 리 는 평소에 컴퓨터 에서 가장 흔히 볼 수 있 는 디지털 변환 을 생각 할 수 있다.컴퓨터 에 있어 모든 데 이 터 는 바 이 너 리 이다.컴퓨터 가 다른 데 이 터 를 전면적으로 바 꿀 수 있 고 데이터 에 오류 가 발생 하지 않도록 하 는 것 은 이런 방식 이 내 가 말 한 이 장면 에 응용 할 수 있다 는 것 을 의미한다.
우 리 는 4 를 제거 한 후의 모든 숫자[0-9]집합 을 사용자 정의 할 수 있 습 니 다.모든 숫자 는 이 9 개의 숫자 로 대체 할 수 있 습 니 다.그러면 우 리 는 9 진법 이 라 고 부 릅 니 다.
코드 직접 보기:
#!/usr/bin/python
# Filename:code.py

def createCode(num):
    str = ["0","1","2","3","5","6","7","8","9"]
    result = []
    str2 =""
    isRunning = True
    while isRunning:
        n = num%9
        #print str[n],
        result.append(str[n])
        num = num/9
        if num <=0:
            isRunning = False
    else: 
        r = result[::-1]  #sort list by desc    
        #print r
        for item in r:
            str2+=item
    return str2

for i in range(0,999):
    f = file('list.txt','a') # append str to file 
    str = createCode(i)
    f.write(str+"
") f.close() print 'DONE.'

 
생 성 된 숫자 예 는 다음 과 같다.
10 진법,9 진법
1 == 0
2 == 1
3 == 2
4 == 3
5 == 5
6 == 6
7 == 7
8 == 8
9 == 9
10 == 10

좋은 웹페이지 즐겨찾기