더북(TheBook)

 

 실습 예외 클래스 만들기

 

 

Step1 다음 sign_up( ) 함수가 정상적으로 동작할 수 있도록 예외를 만들어 보세요.

 

Tip

내용이 없는 빈 클래스를 만들 때도 콜론 다음 줄에 반드시 네 칸 들여 쓴 코드가 있어 합니다.

 

01     import hashlib
02     user_db = {} # 아이디와 암호를 저장하는 변수
03     
04     # 여기에 예외를 정의해 주세요.
05     
06     def sign_up(username, password, password_check):
07         if username in user_db.keys():
08             raise UsernameAlreadyExists('이미 존재하는 아이디 {}'.format(username))
09         if len(password) < 6 or username = = password:
10             raise UnsafePassword('안전하지 않은 암호입니다')
11         if password != password_check:
12             raise PasswordDoesNotMatches('암호와 암호 확인이 일치하지 않습니다')
13         user_db[username] = hashlib.sha1(
14             '$G:{}:{}'.format(username, password).encode()).hexdigest() # 암호화
15     
16     try:
17         sign_up('helloworld', 'safe_password', 'safe_password')
18         sign_up('helloworld', 'safe_password', 'safe_password')
19     except Exception as e:
20         print('가입 실패!')
21         raise # 잡은 예외를 다시 일으킵니다
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.