티스토리 뷰

Test/Python(20220101~)

Day5_비번 생성기

kiostory 2022. 1. 6. 21:35
#Password Generator Project
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"))

#Eazy Level - Order not randomised:
#e.g. 4 letter, 2 symbol, 2 number = JduE&!91


#Hard Level - Order of characters randomised:
#e.g. 4 letter, 2 symbol, 2 number = g^2jk8&P
easy=""
for letter in range(0,nr_letters):
easy+=letters[random.randint(0,len(letters)-1)]

for number in range(0,nr_numbers):
easy+=numbers[random.randint(0,len(numbers)-1)]

for symbol in range(0,nr_symbols):
easy+=symbols[random.randint(0,len(symbols)-1)] #random.choice() 사용하면 더 간단하다
#애초부터 easy에 더하면 더 간단하다
print(f"easy password :{easy}")


hard=[]    #셔플을 위해 배열로 표현.
for letter in range(0,nr_letters):
hard.append(random.choice(letters))

for number in range(0,nr_numbers):
hard.append(random.choice(numbers))

for symbol in range(0,nr_symbols):
hard.append(random.choice(symbols)) #random.choice() 사용하면 더 간단하다
#애초부터 easy에 더하면 더 간단하다


print(f"easy password : {hard}")
random.shuffle(hard)
print(f"hard password : {hard}")

final_password=""
for char in hard:
final_password+=char

print(final_password)
 
----------------------------------------------------------------

 

Welcome to the PyPassword Generator!
How many letters would you like in your password?
2
How many symbols would you like?
2
How many numbers would you like?
4
easy password :IM1007#&
easy password : ['N', 'y', '4', '6', '4', '3', '%', '%']
hard password : ['%', '4', 'N', '6', '%', '3', 'y', '4']
%4N6%3y4

'Test > Python(20220101~)' 카테고리의 다른 글

Day6_미로탈출  (0) 2022.01.07
Day6_While loop  (0) 2022.01.07
Day6_Style Guide for Python Code  (0) 2022.01.07
Day5_반복문 for  (0) 2022.01.05
Day4_가위바위보  (0) 2022.01.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함