coding/Project
[Python] 활용편 - 06 - Class 함수(3)(프로필 관리 기능 만들기)
양한마리
2022. 9. 13. 23:51
728x90
:: 파이썬 과제 - class 활용하기 (3) ::
3. 프로필 관리 기능 만들기
이름, 성별, 생일, 나이, 핸드폰 번호, 이메일 주소
3. 프로필 관리 기능 만들어보기
요구조건
- 사용자들의 프로필을 관리할 수 있는 클래스를 선언해주세요
- 메소드를 호출해서 사용자의 프로필을 설정할 수 있도록 해주세요
- 사용자의 정보를 각각 출력할 수 있는 메소드를 만들어주세요
풀이)
# 클래스 함수 선언
class Profile:
def __init__(self): # __init__ 함수로 인스턴스 실행시 초기 자료 세팅
self.profile = {
"name": "-",
"gender": "-",
"birthday": "-",
"age": "-",
"phone": "-",
"email": "-",
}
def set_profile(self, profile): # 0.전체 값을 입력하는 메소드
self.profile = profile
def set_name(self, set_name): # 1.이름 값을 입력하는 메소드
self.profile['name'] = set_name
def set_gender(self, set_gender): # 2.성별 값을 입력하는 메소드
self.profile['gender'] = set_gender
def set_birthday(self, set_birthday): # 3.생일 값을 입력하는 메소드
self.profile['birthday'] = set_birthday
def set_age(self, set_age): # 4.나이 값을 입력하는 메소드
self.profile['age'] = set_age
def set_phone(self, set_phone): # 5.핸드폰 번호 값을 입력하는 메소드
self.profile['phone'] = set_phone
def set_email(self, set_email): # 6.이메일 주소 값을 입력하는 메소드
self.profile['email'] = set_email
def get_name(self): # 1.이름 name을 출력해주는 메소드
return self.profile.get('name')
def get_gender(self): # 2.성별 gender를 출력해주는 메소드
return self.profile.get('gender')
def get_birthday(self): # 3.생일 birthday를 출력해주는 메소드
return self.profile.get('birthday')
def get_age(self): # 4.나이 age를 출력해주는 메소드
return self.profile.get('age')
def get_phone(self): # 5.핸드폰 번호 phone을 출력해주는 메소드
return self.profile.get('phone')
def get_email(self): # 6.이메일 주소 email를 출력해주는 메소드
return self.profile.get('email')
def main(self) : # 0.전체 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
self.profile['name'] = input("수정할 이름을 입력하세요 : ")
self.profile['gender'] = input("수정할 성별을 입력하세요 : ")
self.profile['birthday'] = input("수정할 생일을 입력하세요 : ")
try:
self.profile['age'] = int(input("수정할 나이를 입력하세요 : "))
except:
print("숫자만 입력하세요.(한 번 더 틀릴 경우 강제 종료)")
self.profile['age'] = int(input("수정할 나이를 입력하세요 : "))
self.profile['phone'] = input("수정할 핸드폰 번호를 입력하세요 : ")
self.profile['email'] = input("수정할 이메일 주소를 입력하세요 : ")
def name(self): # 1.이름 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
self.profile['name'] = input("수정할 이름을 입력하세요 : ")
def gender(self): # 2.성별 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
self.profile['gender'] = input("수정할 성별을 입력하세요 : ")
def birthday(self): # 3.생일 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
self.profile['birthday'] = input("수정할 생일을 입력하세요 : ")
def age(self): # 4.나이 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
try :
self.profile['age'] = int(input("수정할 나이를 입력하세요 : "))
except :
print("숫자만 입력하세요.(한 번 더 틀릴 경우 강제 종료)")
self.profile['age'] = int(input("수정할 나이를 입력하세요 : "))
def phone(self): # 5.핸드폰 번호 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
self.profile['phone'] = input("수정할 핸드폰 번호를 입력하세요 : ")
def email(self): # 6.이메일 주소 출력 후 행동을 위한 메소드
result = int(input(":: 목록 ::\n"
"===========================\n"
"1.종료\n"
"2.재시작\n"
"3.수정\n"
"===========================\n"
"\n번호를 입력하세요 : "))
if result == 1:
print("종료합니다.")
quit()
elif result == 2:
pass
elif result == 3: # 값을 수정하기 위한 메소드
self.profile['email'] = input("수정할 이메일 주소를 입력하세요 : ")
print("프로필을 등록합니다.\n")
def profile_01() : # 프로필 01 함수 생성
profile1 = Profile() # 인스턴스 생성
profile1.set_profile({ # 초기 0.전체 값을 넣어주는 메소드
"name": input("이름을 입력 하세요 : "),
"gender": input("성별을 입력 하세요 : "),
"birthday": input("생일을 입력 하세요 : "),
"age": int(input("나이를 입력 하세요 : ")),
"phone": input("연락처를 입력 하세요 : "),
"email": input("이메일을 입력 하세요 : "),
})
# profile1.set_profile({
# "name": "hanmari yang",
# "gender": "man",
# "birthday": "00/00",
# "age": 00,
# "phone": "01012341234",
# "email": "hanmari.code@gmail.com",
# })
while True :
print("\n"
":: 목록 ::\n"
"===========================\n"
"0.전체\n"
"1.이름\n"
"2.성별\n"
"3.생일\n"
"4.나이\n"
"5.헨드폰 번호\n"
"6.이메일 주소\n"
"9.Quit\n"
"===========================\n")
N = int(input("목록에서 출력할 번호를 입력하세요 : "))
if N == 0 : # 0.전체 값을 출력해주는 메소드
print("0.전체\n"
"===========================\n"
f"이름 : {profile1.get_name()}\n"
f"성별 : {profile1.get_gender()}\n"
f"생일 : {profile1.get_birthday()}\n"
f"나이 : {profile1.get_age()}\n"
f"핸드폰 번호 : {profile1.get_phone()}\n"
f"이메일 주소 : {profile1.get_email()}\n"
"===========================\n")
profile1.main() # 출력 후 행동을 위한 메소드
elif N == 1 : # 이름 출력
print("1.이름\n"
"===========================\n"
f"이름 : {profile1.get_name()}\n"
"===========================\n")
profile1.name() # 출력 후 행동을 위한 메소드
elif N == 2 : # 성별 출력
print("2.성별\n"
"===========================\n"
f"성별 : {profile1.get_gender()}\n"
"===========================\n")
profile1.gender() # 출력 후 행동을 위한 메소드
elif N == 3 : # 생일 출력
print("3.생일\n"
"===========================\n"
f"생일 : {profile1.get_birthday()}\n"
"===========================\n")
profile1.birthday() # 출력 후 행동을 위한 메소드
elif N == 4 : # 나이 출력
print("4.나이\n"
"===========================\n"
f"나이 : {profile1.get_age()}\n"
"===========================\n")
profile1.age() # 출력 후 행동을 위한 메소드
elif N == 5 : # 핸드폰번호 출력
print("5.핸드폰 번호\n"
"===========================\n"
f"핸드폰 번호 : {profile1.get_phone()}\n"
"===========================\n")
profile1.phone() # 출력 후 행동을 위한 메소드
elif N == 6 : # 이메일 출력
print("6.이메일 주소\n"
"===========================\n"
f"이메일 주소 : {profile1.get_email()}\n"
"===========================\n")
profile1.email() # 출력 후 행동을 위한 메소드
elif N == 9 :
print("종료합니다.")
break
profile_01() # 함수 실행
실행 예시)
프로필을 등록합니다.
이름을 입력 하세요 : hanmari yang # <-- 입력 --
성별을 입력 하세요 : man # <-- 입력 --
생일을 입력 하세요 : 10/19 # <-- 입력 --
나이를 입력 하세요 : 99 # <-- 입력 --
연락처를 입력 하세요 : 01012341234 # <-- 입력 --
이메일을 입력 하세요 : hanmari.code@gmail.com # <-- 입력 --
:: 목록 ::
===========================
0.전체
1.이름
2.성별
3.생일
4.나이
5.헨드폰 번호
6.이메일 주소
9.Quit
===========================
목록에서 출력할 번호를 입력하세요 : 0 # <-- 입력 --
0.전체
===========================
이름 : hanmari yang
성별 : man
생일 : 10/19
나이 : 99
핸드폰 번호 : 01012341234
이메일 주소 : hanmari.code@gmail.com
===========================
:: 목록 ::
===========================
1.종료
2.재시작
3.수정
===========================
번호를 입력하세요 : 3 # <-- 입력 --
수정할 이름을 입력하세요 : Hanmari Yang # <-- 입력 --
수정할 성별을 입력하세요 : Man # <-- 입력 --
수정할 생일을 입력하세요 : 1993/10/19 # <-- 입력 --
수정할 나이를 입력하세요 : 30 # <-- 입력 --
수정할 핸드폰 번호를 입력하세요 : 01012341234 # <-- 입력 --
수정할 이메일 주소를 입력하세요 : hanmari.code@gmail.com # <-- 입력 --
:: 목록 ::
===========================
0.전체
1.이름
2.성별
3.생일
4.나이
5.헨드폰 번호
6.이메일 주소
9.Quit
===========================
목록에서 출력할 번호를 입력하세요 : 0 # <-- 입력 --
0.전체
===========================
이름 : Hanmari Yang
성별 : Man
생일 : 1993/10/19
나이 : 30
핸드폰 번호 : 01012341234
이메일 주소 : hanmari.code@gmail.com
===========================
:: 목록 ::
===========================
1.종료
2.재시작
3.수정
===========================
번호를 입력하세요 : 2 # <-- 입력 --
:: 목록 ::
===========================
0.전체
1.이름
2.성별
3.생일
4.나이
5.헨드폰 번호
6.이메일 주소
9.Quit
===========================
목록에서 출력할 번호를 입력하세요 : 5
5.핸드폰 번호
===========================
핸드폰 번호 : 01012341234
===========================
:: 목록 ::
===========================
1.종료
2.재시작
3.수정
===========================
번호를 입력하세요 : 3 # <-- 입력 --
수정할 핸드폰 번호를 입력하세요 : 010-1234-1234 # <-- 입력 --
:: 목록 ::
===========================
0.전체
1.이름
2.성별
3.생일
4.나이
5.헨드폰 번호
6.이메일 주소
9.Quit
===========================
목록에서 출력할 번호를 입력하세요 : 9 # <-- 입력 --
종료합니다.
종료 코드 0(으)로 완료된 프로세스
728x90
반응형