반응형
우리는 헬스장 회원관리 예제를 이용하여 파이썬 객체지향을 공부하고 있습니다. 지난시간에는 절차지향 방식으로 코드를 만들었습니다. 오늘은 절차지향 마지막 시간입니다.
지난 시간에 만든 코드는 아래와 같습니다.
mylist=[]
mnum=0
while True :
print() #한 줄 띄기
print('Add member : press a')
print('search member : press b')
action=input('press button ')
if action=='a' :
print() #한 줄 띄기
#inputs
name = input('enter your name ')
name = name.lower() # force lowercase
age = int(input('enter your age '))
sex = input('enter your sex ')
sex = sex.lower() # force lowercase
mcount=int(input('enter your membership count ')) #membership count
#define dict
dict={'mnum':mnum,'name':name,'age':age,'sex':sex,'mcount':mcount}
#add in list
mylist.append(dict)
#print info
print('Below is your information')
print(dict)
mnum=mnum+1
elif action=='b' :
while True :
print() #한 줄 띄기
mn = int(input('what is the membership number? ')) #input 값 숫자에 넣기
first_values=[]
for my_dict in mylist:
first_values.append(list(my_dict.values())[0])
if mn in first_values :
print(mylist[mn])
break
else :
print('none exist member')
continue
else :
print()
print('no button exist')
회원 추가하기, 회원 검색하기라는 두가지 기능을 수행하는 코드입니다. 오늘은 위 코드를 한번더 발전시키겠습니다.
1) 초기 버튼에 '회원권 사용하기' 를 추가하세요.
2) 회원권 사용하기에서 회원번호를 물어보시고, 회원 번호를 입력받아 회원권을 차감되게 하세요.
3) 회원권이 0개일 경우, 회원권이 없어서 차감이 불가능합니다 라고 띄우고 첫 화면으로 돌아가기.
4) 회원권이 1개 이상일 경우, 회원권을 차감하고 '입장하십시오' 라고 띄우고 첫 화면으로 돌아가기.
수정한 코드는 아래와 같습니다.
#지난 코드를 수정하여 작성하세요.
#초기 버튼에 '회원권 사용하기' 를 추가하세요.
#회원권 사용하기에서 회원번호를 물어보시고, 회원 번호를 입력받아 회원권을 차감되게 하세요.
#회원권이 0개일 경우, 회원권이 없어서 차감이 불가능합니다 라고 띄우고 첫 화면으로 돌아가기.
#회원권이 1개 이상일 경우, 회원권을 차감하고 '입장하십시오' 라고 띄우고 첫 화면으로 돌아가기.
mylist=[]
mnum=0
#def usem()
while True :
print() #한 줄 띄기
print('Adding member : press a')
print('searching member : press b')
print('using membership coupon : press c')
action=input('press button ')
if action=='a' :
print() #한 줄 띄기
#inputs
name = input('enter your name? ')
name = name.lower() # force lowercase
age = int(input('enter your age? '))
sex = input('enter your sex? ')
sex = sex.lower() # force lowercase
mcount=int(input('enter your membership count ')) #membership count
#define dict
dict={'mnum':mnum,'name':name,'age':age,'sex':sex,'mcount':mcount}
#add in list
mylist.append(dict)
#print info
print('Below is your information')
print(dict)
mnum=mnum+1
elif action=='b' :
while True :
print() #한 줄 띄기
mn = int(input('what is the membership number? ')) #input 값 숫자에 넣기
first_values=[]
for my_dict in mylist:
first_values.append(list(my_dict.values())[0])
if mn in first_values :
print(mylist[mn])
break
else :
print('none exist member')
continue
elif action=='c' :
while True :
print() #한 줄 띄기
num = int(input('what is the membership number? ')) #input 값 숫자에 넣기
first_values=[]
for my_dict in mylist:
first_values.append(list(my_dict.values())[0])
if num in first_values :
if mylist[num]['mcount']<1 :
print('We cannot deduct it because you do not have a membership coupon.')
break
else :
mylist[num]['mcount']=mylist[num]['mcount']-1
print()
print('below is your updated info')
print(mylist[num])
break
else :
print('none exist member')
continue
else :
print()
print('no button exist')
지난시간에 비해 변경된 코드를 설명하겠습니다. 회원권을 사용하고 싶은 경우 c를 입력하라는 문구입니다.
print('using membership coupon : press c')
c를 선택했을 때 작동하는 코드는 elif 를 이용하여 구현하였습니다. 회원번호를 먼저 입력하면 회원권이 사용되도록 하였습니다. 만약 회원권이 1개 미만일 경우 회원권이 없다는 메시지가 출력되도록 하였습니다.
elif action=='c' :
while True :
print() #한 줄 띄기
num = int(input('what is the membership number? ')) #input 값 숫자에 넣기
first_values=[]
for my_dict in mylist:
first_values.append(list(my_dict.values())[0])
if num in first_values :
if mylist[num]['mcount']<1 :
print('We cannot deduct it because you do not have a membership coupon.')
break
else :
mylist[num]['mcount']=mylist[num]['mcount']-1
print()
print('below is your updated info')
print(mylist[num])
break
else :
print('none exist member')
continue
아래는 실행 예시입니다.
Adding member : press a
searching member : press b
using membership coupon : press c
press button a
enter your name? kim
enter your age? 15
enter your sex? m
enter your membership count 22
Below is your information
{'mnum': 0, 'name': 'kim', 'age': 15, 'sex': 'm', 'mcount': 22}
Adding member : press a
searching member : press b
using membership coupon : press c
press button c
what is the membership number? 0
below is your updated info
{'mnum': 0, 'name': 'kim', 'age': 15, 'sex': 'm', 'mcount': 21}
반응형
'10. 클래스(class) > 객체지향 이해하기' 카테고리의 다른 글
[파이썬 클래스와 객체지향] 6. 객체지향 2단계 (0) | 2023.05.24 |
---|---|
[파이썬 클래스와 객체지향] 5. 객체지향 1단계 (0) | 2023.05.24 |
[파이썬 클래스와 객체지향] 3. 절차지향 2단계 (0) | 2023.05.21 |
[파이썬 클래스와 객체지향] 2. 절차지향 1단계 (0) | 2023.05.16 |
[파이썬 클래스와 객체지향] 1. 어떻게 공부할 것인가? (1) | 2023.05.16 |
댓글