파이썬으로 사용자 이름과 비밀번호 생성기 만들기
문자열 조작 실습
웹서비스 또는 애플리케이션 개발 시, 사용자 계정을 생성하는 기능은 매우 기본적이면서도 중요하다. 본 글에서는 파이썬(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)**이므로, 문자를 반복적으로 연결할 때는 새로운 문자열을 만들어야 한다.
이와 같은 기초 실습은 실제로 사용자 계정 정보 생성, 인증 로직 개발, 텍스트 기반 암호화 등 다양한 실무 시나리오에 응용할 수 있다.
'Python' 카테고리의 다른 글
파이썬 String을 활용한 Caesar Cipher / Vigenère Cipher 구현 프로젝트 (0) | 2025.04.19 |
---|---|
파이썬으로 JSON API 데이터 추출 및 CSV 변환하기 (0) | 2025.04.05 |
Python 반복문(Loop)과 리스트 실습 (0) | 2025.04.03 |
파이썬 리스트 함수 실습 (0) | 2025.04.02 |
Map, Lambda, Filter in Python (0) | 2024.06.06 |