1067922073249051
Jinil Choi
  • 2016.3.20 00:29
  • 조회수 83
  • 답변수 1
1067922073249051
Jinil Choi
  • 2016.3.20 00:29
  • 조회수 83
  • 답변수 1

정답이 맞는지 확인요

문제에 제시한 대로 key를 기준으로 소팅한 결과가 나오는데.
왜 제출하면 정답이아니라고 하는지..확인좀 해주세요... 정답을 제공좀해주시던지..

sort_dictionary
def sort_dictionary(dic):
    '''입력받은 dic의 각 키와 값을 튜플로 만든 다음, 키 값을 기준으로 정렬해서 리스트에 넣으세요. 그 리스트를 return하면 됩니다.'''
    dic_tu = ()
    dic_tu_list=[]
    for i in range(len(dic)):
        dic_tu = dic.popitem()
        dic_tu_list.append(dic_tu)
    dic_tu_list.sort()
    return dic_tu_list

a={"정진원":88, "김철수":78, "이하나":97}
print (sort_dictionary(a))
  • #파이썬 입문
  • #딕셔너리 정렬

1 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.3.20 08:54

    정답이 맞습니다.정답 체크 로직에 오류가 있었는데요.

    정답을 체크할 때 사용자가 작성하는 sort_dictionary와 내부적으로 구현한 다른 함수에 전달하는데요.
    sort_dictionary에서 매개변수로 받은 dic을 pop해서 쓰면서 dic자체가 변경되어, 내부적으로 구현한 함수에는 빈 딕셔너리가 전달되는 문제가 있었네요.

    오류를 수정하였으니 작성하신 코드 그대로 제출하시면 정답으로 처리될겁니다.
    알려주셔서 감사합니다.

    참고로 정답에서는 dic을 list로 만드는 부분을

    for key in dic:
        dic_tu_list.append((key, dic[key]))
    

    하시거나

    dic_tu_list = [ (key, dic[key]) for key in dic]
    

    하는 방법이 더 좋을것 같습니다.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.