title: 비밀번호 생성기 description: 사용자가 제어할 수 있는 문자 집합에서 임의의 비밀번호를 생성하는 스크립트를 작성하세요.
비밀번호 생성기
Zee 이봐, 회사에서 비밀번호 보안에 대한 메모가 돌았는데 특히 내가 지적당했어. 정말 창피해. 작은 비밀번호 생성기를 만들어 줄 수 있어? 길이를 입력하고, 숫자와 기호를 포함할지 yes나 no를 입력하면, 실제로 사용할 수 있는 뭔가를 뱉어내는 거야. 모든 계정에 "password123"을 사용하는 게 최선이 아니라는 걸 알긴 해...
만들어볼 것
비밀번호 길이: 12
숫자 포함? (y/n): y
기호 포함? (y/n): y
생성됨: k7#mP9xQ!2aL필요한 것
- 출력과 입력 - 사용자의 선호도 수집
- 문자열 - 문자, 문자 리스트를 문자열로 조인하기
- 리스트 - 허용된 문자의 풀 구축 및 결합
- 모듈과 표준 라이브러리 - 문자 선택을 위한
random, 미리 만들어진 문자 집합을 위한string
힌트
먼저 풀을 구축하세요. 허용된 문자의 빈 리스트로 시작하세요. 항상 글자를 추가한 후, 사용자가 선택한 것에 따라 조건부로 숫자나 기호를 추가하세요.
string 모듈이 작업을 절약합니다. 미리 만들어진 문자열이 있습니다: string.ascii_letters, string.digits, string.punctuation. 직접 입력할 필요가 없습니다.
선택한 후 조인하세요. random.choice()를 사용하여 한 번에 하나의 문자를 선택하고, 사용자가 요청한 길이만큼 반복한 후, 결과를 하나의 문자열로 조인하세요.
더 나아가기
기본 생성기가 작동하면:
- 규칙을 보장하세요. 사용자가 숫자를 요청했다면, 결과에 최소한 하나의 숫자가 나타나는지 확인하세요. 기호도 마찬가지입니다. 순수하게 무작위로 선택하면 이를 놓칠 수 있습니다.
- 일괄 생성하세요. 사용자가 한 번에 여러 비밀번호를 요청할 수 있게 하고 모두 표시하세요.
- 강도 표시기. 생성 후, 간단한 등급을 인쇄하세요: 약함 (글자만), 중간 (글자 + 숫자), 강함 (글자 + 숫자 + 기호).

