Python

파이썬 String 조작 실습

hyungminjeon 2025. 4. 5. 18:35

파이썬으로 사용자 이름과 비밀번호 생성기 만들기

문자열 조작 실습

웹서비스 또는 애플리케이션 개발 시, 사용자 계정을 생성하는 기능은 매우 기본적이면서도 중요하다. 본 글에서는 파이썬(Python)을 활용하여 사용자의 이름으로부터 간단한 아이디(username)와 비밀번호(password)를 생성하는 방법을 다룬다.

문자열(string) 처리와 관련된 조건문, 슬라이싱(slicing), 반복문 등 기초 문법을 종합적으로 활용하는 좋은 연습이 된다.


1. 사용자 이름 생성기 (username_generator)

def username_generator(first_name, last_name):
  if len(first_name) < 3:
    username = first_name
  else:
    username = first_name[:3]
  if len(last_name) < 4:
    username += last_name
  else:
    username += last_name[:4]
  return username

함수 설명:

  • first_name(이름)과 last_name(성)을 인자로 받아 새로운 사용자명을 생성한다.
  • 이름의 길이가 3글자보다 짧으면 전체 이름을 사용하고, 그렇지 않으면 앞의 3글자만 사용한다.
  • 성의 길이가 4글자보다 짧으면 전체 성을 사용하고, 그렇지 않으면 앞의 4글자만 사용한다.
  • 이름과 성을 결합하여 사용자명(username)으로 반환한다.

예시:

username_generator("Hyungmin", "Jeon")  
# 결과: 'HyuJeo'

2. 비밀번호 생성기 (password_generator)

def password_generator(user_name):
  password = ""
  for i in range(0, len(user_name)):
    password += user_name[i-1]
  return password

함수 설명:

  • user_name을 인자로 받아 새로운 비밀번호를 생성한다.
  • 문자열에서 i-1 번째 문자를 순서대로 연결함으로써, 한 글자씩 오른쪽으로 이동한 암호화된 문자열을 생성한다.
  • 예를 들어 "Hyungmin"이라는 문자열이 입력되면, 다음과 같은 방식으로 처리된다:
    • i=0일 때 user_name[-1] → 마지막 문자 'n'
    • i=1일 때 user_name[0] → 'H'
    • i=2일 때 user_name[1] → 'y'
    • 최종적으로 'nHyungmi'가 출력된다.

예시:

print(password_generator("Hyungmin"))
# 결과: 'nHyungmi'

 


3. 실습 요약 및 활용 포인트

  • **문자열 슬라이싱(slice)**을 이용하여 이름과 성에서 원하는 부분을 추출할 수 있다.
  • **조건문(if-else)**을 통해 길이에 따라 다른 로직을 수행할 수 있다.
  • for 반복문을 활용하여 문자열의 각 문자에 접근할 수 있다.
  • 문자열은 **불변(immutable)**이므로, 문자를 반복적으로 연결할 때는 새로운 문자열을 만들어야 한다.

이와 같은 기초 실습은 실제로 사용자 계정 정보 생성, 인증 로직 개발, 텍스트 기반 암호화 등 다양한 실무 시나리오에 응용할 수 있다.