-
Positional Argument Follows Keyword Argument In PythonError Collections 2022. 10. 9. 12:22
When to occur?!
- added_score함수가 2개의 parameter(answer, result)를 받는데 함수를 사용할 때 added_score(answer= answer_report, result), 즉 첫번째에는 positional argument 를 사용하고 두번째에는 사용하지 않았음
scores = {1:3, 2:2, 3:1, 4:0, 5:1, 6:2, 7:3} answer_report = {1: {"R":0, "T":0}, 2 :{"C":0, "F":0}, 3: {"J":0, "M":0}, 4: {"A":0, "N":0}, } def organization(answer): answer = {k : dict(sorted(v.items(), key=lambda x:(-x[1], x[0]))) for k, v in answer.items()} return "".join([list(v.keys())[0] for k, v in answer.items()]) def added_score(answer, result:dict) -> dict: for k, v in answer.items(): for type, score in result.items(): if type in v: v[type] = score return answer def solution(survey, choices): result = {} for type, choice in zip(survey, choices): if choice in range(1,4): # 비동일 경우 첫번째 result[type[0]] = scores[choice] elif choice in range(5,8): # 동의일 경우 두번째 result[type[1]] = scores[choice] return added_score(answer=answer_report,result)
How to fix it?!
- positional arguments는 항상 keyword arguments보다 뒤에 와야 한다
def solution(survey, choices): result = {} for type, choice in zip(survey, choices): if choice in range(1,4): # 비동일 경우 첫번째 result[type[0]] = scores[choice] elif choice in range(5,8): # 동의일 경우 두번째 result[type[1]] = scores[choice] return added_score(answer=answer_report,result=result)
'Error Collections' 카테고리의 다른 글
git: Your branch and 'origin/master' have diverged (0) 2023.01.06 GIT GUI (0) 2023.01.05 ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to (0) 2022.09.23 ValueError: Shapes (None, 1) and (None, 3) are incompatible (0) 2022.09.09 OSError: [Errno 22] Invalid argument (0) 2022.08.27