본문 바로가기
● 알고리즘, 자료구조/2021 알고리즘

투표 집계하기 : 사전, 리스트

by 0ver-grow 2021. 5. 31.
반응형

다음 코드에서 오류가 발생하는 이유는?

# 투표 결과 리스트
votes = ['김영자', '강승기', '최만수', '김영자', '강승기', '강승기', '최만수', '김영자', \
'최만수', '김영자', '최만수', '김영자', '김영자', '최만수', '최만수', '최만수', '강승기', \
'강승기', '김영자', '김영자', '최만수', '김영자', '김영자', '강승기', '김영자']

# 후보별 득표수 사전
vote_counter = {}

# 리스트값 하나씩 가져옴
for name in votes: 
    if vote_counter[name] == vote_counter[name] :
        vote_counter[name] += 1  # 이름(키)의 값에 1추가

# 후보별 득표수 출력
print(vote_counter)

 

초기 키의 값이 정의되지 않은 상태에서 1을 추가했기 때문.

# 투표 결과 리스트
votes = ['김영자', '강승기', '최만수', '김영자', '강승기', '강승기', '최만수', '김영자', \
'최만수', '김영자', '최만수', '김영자', '김영자', '최만수', '최만수', '최만수', '강승기', \
'강승기', '김영자', '김영자', '최만수', '김영자', '김영자', '강승기', '김영자']

# 후보별 득표수 사전
vote_counter = {}

# 리스트값 하나씩 가져옴
for name in votes: 
    if name not in vote_counter :
        vote_counter[name] = 1
    else :
        vote_counter[name] += 1
    
# 후보별 득표수 출력
print(vote_counter)

 

반응형