python/클래스
회원관리 컨트롤러
june__Park
2021. 3. 21. 04:52
# 클래스 생성자를 활용해서, 회원관리 컨트롤러 만들기
class Member:
log = -1
user = []
class MemControler:
# 클래스 리스트 형성
name = ""
id = ""
pw = ""
m = Member()
def __init__(self, id, pw, name = "", log=-1):
self.name = name
self.id = id
self.pw = pw
if log:
self.m.log = log
else:
self.m.log = self.login()
def join(self,name,id,pw):
log = len(self.m.user)
self.m.user.append([""]*3)
self.m.user[log][0] = name
self.m.user[log][1] = id
self.m.user[log][2] = pw
print("%s님, 환영합니다"%(self.name))
return self.m.user
def login(self,id,pw):
for i in range(len(self.m.user)):
if id == self.m.user[i][1] and pw == self.m.user[i][2]:
self.m.log = i
print("%s님, 로그인되었습니다."%(self.m.user[i][0]))
return self.m.log
if self.m.log == -1:
print("id or pw Error")
return -1
# 기능
# 1. 회원가입
# 2. 로그인
# 2_1. 마이페이지(정보조회)
# 2_2. 비밀번호 수정
# 2_3. 탈퇴
# 3. 종료
m = Member()
def menu1():
print("1. 회원가입")
print("2. 로그인")
print("3. 종료")
def menu2():
print("1. 마이페이지(정보조회)")
print("2. 비밀번호 수정")
print("3. 회원탈퇴")
print("4. 로그아웃")
print("5. 종료")
while True:
print(m.user)
if m.log == -1:
menu1()
sel = int(input(": "))
if sel == 1:
name = input("이름: ")
id = input("사용할 아이디: ")
cnt = 0
for i in range(len(m.user)):
if m.user[i][1] == id:
cnt = 1
break
if cnt == 1:
print("id 중복")
continue
pw = input("사용할 비밀번호: ")
mc = MemControler(id,pw,name)
mc.join(name,id,pw)
elif sel == 2:
id = input("ID: ")
pw = input("PW: ")
mc = MemControler(id,pw)
m.log = mc.login(id, pw)
elif sel == 3:
break
else:
menu2()
idx = m.log
sel = int(input(": "))
if sel == 1:
print("===회원정보===")
print(m.user[idx])
elif sel == 2:
pre_pw = input("현재 비밀번호: ")
if pre_pw == m.user[idx][2]:
nex_pw = input("변경할 비밀번호: ")
m.user[idx][2] = nex_pw
else:
print("비밀번호 오류")
elif sel == 3:
del(m.user[idx])
print("회원탈퇴 완료")
m.log = -1
elif sel == 4:
m.log = -1
print("로그아웃 되었습니다")
elif sel == 5:
break