일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로젝트
- 계산기
- Pygame
- API플랫폼
- SMTP
- API
- Game
- 상태코드
- 파싱
- 웹페이지
- HTTP
- class
- 부트스트랩
- ndarray
- Tequila
- phython
- 파이썬
- 프로그램
- 오류
- 게임
- 유데미
- udemy
- Python
- 쉬티
- 최저가
- Endpoint
- twilio
- 웹크롤링
- HTML
- Sheety
Archives
- Today
- Total
데이터 분석가
파이썬(Python) 프로젝트 패스워드(Password)생성 프로그램 본문
안녕하세요
이번 시간에는 패스워드 만드는 프로그램을 만들어보도록 할게요 ~
뭔가 조금 익숙한 화면이지 않을까요 ?(나이 인증ㄷㄷ)
항상 비밀번호를 만드는 데 고민을 했던거 같네요( 사실 귀찮아서 맨날 123123)
이번 시간을 통해 알차게 비밀번호를 만들어 봅시다 !
이번 시간에는 random 함수의 randint, choice, shuffle 함수를 이용해
패스워드를 만드는 프로그램을 만들어 보겠습니다.
import random #랜덤 함수 불러오기
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']
#문자열, 숫자, 기호를 각 리스트에 넣습니다
print("Welcome to the PyPassword Generator!")
nr_letters= int(input("How many letters would you like in your password?\n")) #문자열 몇자리?
nr_symbols = int(input(f"How many symbols would you like?\n")) #기호 몇자리?
nr_numbers = int(input(f"How many numbers would you like?\n")) #숫자 몇자리?
#먼저 문자4자리, 숫자 2자리, 기호2자리를 넣어보겠습니다
password = "" #패스워드 저장을 위해 "" 선언합니다
for i in range(1, nr_letters + 1): #i는 1부터 문자열 자리수 +1
password += random.choice(letters) #choice함수를 이용해 letters 리스트에서 랜덤으로 선택
for i in range(1, nr_symbols + 1): #i는 1부터 기호 자리수 +1
password += random.choice(symbols) #choice함수를 이용해 symbols 리스트에서 랜덤으로 선택
for i in range(1, nr_numbers + 1): #i는 1부터 숫자 자리수 +1
password += random.choice(numbers) #choice함수를 이용해 numbers 리스트에서 랜덤으로 선택
print(password) #위 for문의 선택된 문자열, 기호, 숫자를 출력합니다
#이번에는 위 출력된 패스워드를 섞어서 출력합니다
password_list = [] #선택된 문자, 숫자,기호를 섞기 위해 리스트 작업
for i in range(1, nr_letters + 1): #i는 1부터 기호 자리수 +1
password_list.append(random.choice(letters)) #append 함수를 이용해 리스트에 추가
for i in range(1, nr_symbols + 1): #i는 1부터 기호 자리수 +1
password_list.append(random.choice(symbols)) #append 함수를 이용해 리스트에 추가
for i in range(1, nr_numbers + 1): #i는 1부터 기호 자리수 +1
password_list.append(random.choice(numbers)) #append 함수를 이용해 리스트에 추가
print(password_list) #위 for문의 선택된 문자열, 기호, 숫자를 출력합니다
random.shuffle(password_list) #선택된 문자,기호,숫자를 리스트 안에서 랜덤으로 순서를 섞습니다
print(password_list) # 위 섞은 리스트를 출력.
password = "" #리스트를 다시 ""로 변환합니다
for char in password_list: #리스트 범위에서 임의의 변수 char에 넣습니다
password += char #임의의 변수에 저장된 password_list를 다시 password에 넣습니다
print(f"password is {password}")#패스워드는 {password} 입니다
식이 조금 길어 보일 수 있는데 letters, numbers, symbols 리스트에 사용할 문자를 넣은 후
for 문을 이용해 random.randint함수를 이용해 랜덤으로 선택된 문자들을 password에 저장 후 출력합니다.
여기서 나아가 password에 저장된 ""를 리스트로 변환 후
shuffle 함수를 이용해 리스트 내에서 섞은 후 다시 ""로 변환합니다.
사실 위 코드에서 shuffle 함수를 사용하지 않는다면 짧게 만들 수도 있는데요
이상으로 password을 랜덤으로 생성하는 프로그램을 만들어 보았습니다 !
'파이썬(python) 프로젝트 모음' 카테고리의 다른 글
파이썬(Python) 소수(Prime_number) 프로젝트 (0) | 2023.03.14 |
---|---|
파이썬(Python) 프로젝트(행맨 게임) (0) | 2023.03.06 |
파이썬(Python) 프로젝트(가위바위보) (0) | 2023.03.01 |
파이썬(Python) 프로젝트(팁 계산기) (0) | 2023.02.28 |
파이썬(Python) 프로젝트(남은 수명 구하기) (0) | 2023.02.28 |
Comments