udemy.py_Section 6 - (5) Functions and Tuple unpacking

Gomi_kery·2022년 9월 15일
0

udem.py

목록 보기
24/28
post-thumbnail

캐릭터 목록 내에 만렙인 직업 파악

  • 튜플의 언패킹을 사용하여 여러 항목을 반환하는 함수를 만든다

캐릭터 목록

# 캐릭터 명과 레벨이 담긴 튜플 리스트
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 실행

  1. 사제, 26 > 0 = True
    char_lv = 26
    char_name = 사제
    ⏬⏬
  2. 전사, 3 > 26 = False
    char_lv = 26
    char_name = 사제
    ⏬⏬
  3. 수도사, 60 > 26 = True
    char_lv = 60
    char_name = 수도사
    ⏬⏬
  4. 죽음의 기사, 10 > 60 = False
    char_lv=26
    char_name=사제
    ⏬⏬
  5. 기원사, > 70 = True
    char_lv = 70
    char_name = 기원사

C. loop문 완료되고 (char_lv, char_name) 가 반환됨.

(70, '기원사')
profile
QA. 손으로 할 수 있는 모든 것을 좋아합니다.

0개의 댓글