# 캐릭터 명과 레벨이 담긴 튜플 리스트
character_lists = [('사제',26),('전사',3),('수도사',60),('죽음의 기사',10),('기원사',70)]
def maxlv_character(character_lists):
char_lv = 0 # 레벨을 비교할 기준점이 될 변수 (기준 변수)
char_name = '' # 반환할 캐릭터 명을 빈 문자열로
for name,lv in character_lists: # 직업명과 레벨을 언패킹해서
if lv > char_lv : # 만약 레벨이 기준 변수보다 크면
char_lv = lv # chat_lv의 값을 lv로
char_name = name # char_name의 값을 name로 변경
else:
pass # 만약 레벨이 기준 변수보다 작으면 pass
return (char_lv, char_name)
# 함수 실행
maxlv_character(character_lists)
A. 튜플 언패킹
for name,lv in character_lists:
> 사제 26
> 전사 3
> 수도사 60
> 죽음의 기사 10
> 기원사 70
B. if lv > char_lv:
loop 실행
- 사제, 26 > 0 = True
char_lv = 26
char_name = 사제
⏬⏬- 전사, 3 > 26 = False
char_lv = 26
char_name = 사제
⏬⏬- 수도사, 60 > 26 = True
char_lv = 60
char_name = 수도사
⏬⏬- 죽음의 기사, 10 > 60 = False
char_lv=26
char_name=사제
⏬⏬- 기원사, > 70 = True
char_lv = 70
char_name = 기원사
C. loop문 완료되고 (char_lv, char_name) 가 반환됨.
(70, '기원사')