Python 갖고 놀아보기 #3 간단한 회원가입 구현

지금까지 로또 프로그램, 진법 계산기 두가지 과제를 도와줬고 2개 과제가 남았는데,
이번에는 남은 2개 중 한개인 “간단한 회원가입 프로그램” 과제를 도와주었다.


아주아주 간단한 회원가입 프로그램

이번에는 전반적으로 리스트를 위주로 사용했고, 조건이 2가지 있었다.

  1. ID 중복 확인
  2. 이메일은 ‘@’ 가 꼭 포함되어야 함 </u>


그리고 해당 과제에도 추가점수 조건이 있었다.

  1. 회원탈퇴 기능
  2. 비밀번호 재확인 기능 </u>

추가 점수는 획득하는게 좋으니 두가지 기능을 모두 구현 하였습니다.
회원가입 프로그램의 경우 다른 언어를 공부할 때마다 항상 해보던 프로젝트라서 큰 어려움 없이 구현해낼 수 있었다.

ps. DB를 안써서 매우 쉬웠다.


register.py

id_list = ['honggildong', 'goglidong']
pw_list = ['hong1234!', 'godong1234!']
email_list = ['hong123@gmail.com','gildong123@naver.com']
name_list = ['홍길동', '고길동']

upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower = "abcdefghijklmnopqrstuvwxyz"
number = "0123456789"
email_symbol = "@"
upper_c, lower_c, number_c, msg_c, email_symbol_c = "", "", "", "", ""
check = False

while True:
    menu = int(input("1. 회원가입 / 2. 목록보기 / 3. 회원탈퇴 / 4. 프로그램 종료"))

    if (menu == 1):        
        while True:
            check = False
            username = input("id 입력: ")

            for i in range(len(id_list)):
                if username == id_list[i]:
                    check = True

            if check == True:
                print("중복되는 ID")
                continue
            else:
                id_list.append(username)
                print(f'{id_list}')
                break

        while True:
            pw = input("pw 입력: ")

            for i in pw:
                if i in upper:
                    upper_c += i        
                elif i in lower:
                    lower_c += i
                elif i in number:
                    number_c += i
                else:
                    msg_c += i

            if len(pw) < 8:
                print("8자리 이상의 비밀번호를 사용하세요.")
                continue
            elif len(upper_c) < 1:
                print("대문자를 한개이상 쓰세요.")
                continue
            elif len(lower_c) < 1:
                print("소문자를 한개 이상 쓰세요.")
                continue
            elif len(number_c) < 1:
                print("숫자를 한개 이상 쓰세요.")
                continue
            elif len(msg_c) < 1:
                print("특수문자를 한개 이상 쓰세요.")
                continue
            
            pw_check = input("pw 재확인: ")

            if pw_check == pw:
                pw_list.append(pw)
            else:
                print("비밀번호가 틀렸습니다.")
                continue
            
            print(f'{pw_list}')
            break

        while True:
            email = input("email 입력: ")

            for i in email:
                if i in email_symbol:
                    email_symbol_c += i

            if len(email_symbol_c) < 1:
                print("올바른 이메일을 입력하세요.")
                continue
            else:
                email_list.append(email)

            break
        
        name = input("이름 입력: ")
        name_list.append(name)

        print("회원가입이 완료 되었습니다.")
    elif menu == 2:
        print(f'{id_list}')
        print(f'{pw_list}')
        print(f'{email_list}')
        print(f'{name_list}')
    elif menu == 3:
        print(f'{id_list}')
        ex_num = 0
        
        ex_name = input("삭제할 id를 입력: ")
        for i in range(len(id_list)):
            if ex_name == id_list[i]:
                check = True

        if check == True:
            ex_num = id_list.index(ex_name)
        else:
            print("올바르지 않은 ID 입니다.")
            continue

        id_list.pop(ex_num)
        pw_list.pop(ex_num)
        email_list.pop(ex_num)
        name_list.pop(ex_num)
        print("탈퇴 완료")
        print(f'{id_list}')
        print(f'{pw_list}')
        print(f'{email_list}')
        print(f'{name_list}')
    elif menu == 4:
        print("프로그램 종료")
        break
    else:
        print("올바른 메뉴를 선택하세요.")
        continue