Img profile default
지서
  • 2016.4.28 01:42
  • 조회수 78
  • 답변수 2
Img profile default
지서
  • 2016.4.28 01:42
  • 조회수 78
  • 답변수 2

될꺼 같기도한데..

number = 123
a = str(number) #스트링으로 변환
j = list(a) # 리스트 변환
k = int(j[0])+int(j[1])+int(j[2]) # 이부분을 어떻게 좀 하면 될꺼 같기도 한데...
print (k)

변수 k를 순환문? 으로 변환해서 그걸 응용 해 볼려는데 막히네요 ㅋㅋ
힌트좀 주세요;;

sum_digit
def sum_digit(number):
    '''number의 각 자릿수를 더해서 return하세요'''
    i = "".join(number)
    j = i.split( )
    return sum(i)
(
  • #파이썬 입문
  • #자릿수 더하기

2 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.4.28 10:22

    j = list(a)까지 잘 하셨네요
    int(j[0])까지도 잘 생각하셨구요.

    tryhelloworld.co.kr/courses/파이썬-입문/lessons/for-in-list
    강의 한번만 다시 보시면 답이 떠오르실것 같습니다.

    for문 밖에서 k=0으로 선언하고 for문 안에서 k에 값을 계속 더해주면 됩니다. k+=을 이용해서요.

    • 정답을 풀고 나면 for문 대신 list comprehension을 이용하는 방법으로 풀어 보는것도 도움이 될것 같아요.-정두식
      2016.4.28 10:24
  • 1380536531972022
    Jinho Park
    • 2016.4.29 15:38

    list comprehension 으로 가능할까요?

    def sum_digit(number):
    a = str(number)
    b = [ int(i) for i in a ]
    c = sum(b)
    print(c)
    return c

    sum_digit(123)

답변 쓰기

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