Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 짝수 길이의 랜덤 4자리 PIN 번호 시리즈 생성하기 – 유효한 입력이 들어올 때까지 반복 요청하기


짝수 길이의 랜덤 4자리 PIN 번호 시리즈를 생성한 결과는 다음과 같습니다.

enter the series size 4
Random four digit pin number series
0     0813
1     7218
2     6739
3     8390

이 문제를 해결하기 위해 아래 단계를 순서대로 따릅니다.

해결 방법

  • 빈 리스트를 하나 만들고, result 변수를 True로 초기화합니다.

  • while 루프를 사용해 사용자로부터 시리즈의 크기를 입력받습니다.

  • if 조건문으로 크기가 홀수인지 짝수인지 판별합니다. 크기가 홀수라면 resultFalse로 설정하고, 짝수가 입력될 때까지 루프를 계속 반복합니다.

l = []
while(True):
    size = int(input("enter the series size"))
    if(size%2==1):
        result = False
  • 크기가 짝수라면 resultTrue로 설정하고, for 루프를 이용해 입력받은 크기만큼 반복 작업을 수행합니다.

result = True
for i in range(size):
  • 랜덤한 4자리 숫자를 생성하여 rand_pin에 저장합니다.

  • rand_pin 값을 리스트에 추가(append)하여 전체 시리즈를 완성합니다.

rand_pin = random.sample(num,4)
l.append("".join(rand_pin))
pd.Series(l)
  • result 값이 True라면 if 조건문으로 루프를 종료(break)합니다.

if(result==True):
    break

핵심 요소 설명

코드에서 사용되는 주요 모듈과 함수는 다음과 같습니다.

  • string.digits: 문자열 '0123456789'를 반환하며, 랜덤 숫자를 추출할 후보 풀 역할을 합니다.

  • random.sample(num, 4): 후보 풀에서 중복 없이 4개의 숫자를 무작위로 선택합니다.

  • "".join(rand_pin): 선택된 4개의 문자를 하나의 4자리 PIN 번호 문자열로 연결합니다.

  • pd.Series(l): 리스트에 담긴 PIN 번호들을 인덱스와 함께 pandas Series 형태로 변환해 가독성 있게 출력합니다.

전체 예제 코드

아래 코드를 통해 전체 흐름을 이해해 보겠습니다.

# pandas를 pd로 임포트
import pandas as pd
import random,string
num = string.digits
result = True
l = []
while(True):
    size = int(input("enter the series size"))
    if(size%2==1):
        result = False
    else:
        result = True
        for i in range(size):
            rand_pin = random.sample(num,4)
            l.append("".join(rand_pin))
        series = pd.Series(l)
        print("Random four digit pin number series\n",series)
    if(result==True):
        break

실행 결과

enter the series size 3
oops! enter an even number!
enter the series size 5
oops! enter an even number!
enter the series size 4
Random four digit pin number series
0     0813
1     7218
2     6739
3     8390
dtype: object

위 실행 결과에서 볼 수 있듯이, 사용자가 3이나 5처럼 홀수를 입력하면 짝수를 입력하도록 안내 메시지가 출력되며 다시 입력을 요청합니다. 짝수인 4를 입력했을 때 비로소 랜덤 4자리 PIN 번호 4개로 구성된 시리즈가 생성되고 프로그램이 정상적으로 종료됩니다.