본문 바로가기

Python 연습문제

하샤드 수

 

차근차근 순서대로 생각

 

x=10
list_x=list(map(int,str(x)))
print(list_x)

print(list_x[-1])
print(list_x[-2])


answer=list_x[-1]+list_x[-2]
print(answer)

 

 

 

위와 같은 순서대로 코딩을 짜볼까

 




def solution(x):
    list_x=list(map(int,str(x)))
    answer=0
    for i in range(1,len(str(x))+1):
        answer=answer+list_x[i-1]

    if x%answer==0:
       return True
    else:
       return False

 

 

굳이 def 마지막에 return을 하는게 아니라 종료하고 싶은데다가 return 값을 붙이면 되고 if 문을 처음에 for 아래에 둬서 결과가 이상하게 나왔다. 각 구문의 위치를 정확히 작성하는게 중요하다고 깨달음.

 

print(solution(10))
print(solution(12))
print(solution(11))
print(solution(13))