점프 투 파이썬 종합문제 15번 관련 질문
안녕하세요?
먼저 좋은 책 써주셔서 파이썬 세계로 입문하게 해주신 것 감사드립니다~^^
코딩 전혀 모르고 살다가 혼자서 책 보고 공부하려니 어려운게 너무 많습니다. ㅠㅠ
앞으로 잘 부탁드리겠습니다.
제목에서 말씀드린 종합문제 15번 해설을 봐도 잘 이해가 되지 않습니다.
def chkDupNum(s):
result = []
for num in s:
if num not in result:
result.append(num)
else:
return False
return len(result) == 10
-
리스트 자료형을 사용하여 중복된 값이 있는지 먼저 조사한다.
(result = [] ... if num not in result: 가 여기에 해당되는지요?) -
중복된 값이 있을 경우는 False를 리턴한다.
(else: return False 가 여기에 해당되는지요? ) -
최종적으로 중복된 값이 없을 경우 0~9까지의 숫자가 모두 사용되었는지 판단하기 위해 입력 문자열의 숫자 값을
저장한 리스트 자료형의 총 개수가 10인지를 조사하여 10일 경우는 True, 아닐 경우는 False를 리턴한다.
( return len(result) == 10 이 여기에 해당 되는지요? 만역 그렇다면 이해가 안되는게 보통 def 함수문에서 return은 결과값을 저장할때 쓴다고 배웠는데 여기에서는 다른 용도로 쓰였는지요?)
질문이 답답하시더라도 너그러운 마음으로 많은 양해 부탁드립니다. ^^
배기성 님 476
M 2020년 12월 28일 8:55 오전
1개의 답변이 있습니다. 1 / 1 Page
def chkDupNum(s):
result = []
for num in s: # 입력 문자열 s에서 한 문자씩 num에 대입
if num not in result: # result 리스트에 num이 들어 있지 않은경우라면
result.append(num) # result에 num을 추가
else: # result 리스트에 num이 들어 있는경우, num이 중복임을 알수 있음
return False # 이런 경우는 False를 리턴
return len(result) == 10 # 루프 종료후 리스트의 갯수가 10개인지 조사하여 10개면 True, 아닌경우에는 False리턴
코드에 주석을 달아보았습니다.
도움되시기를..
박응용 님
M 2020년 12월 28일 9:23 오전