안녕하세요 jay입니다.
오늘은 파이썬 정수의 자리수와
각 자리수의 합을 구하는 법에 대해 알아보겠습니다.
1. 정수의 자리수 구하기
정수의 자리수를 구하는 방법은 2가지가 있습니다.
1. 정수를 문자열로 변환해서 각각의 자리수를 구한다.
2. 나머지 연산자(%) 몫 연산자(//)를 통해 구한다.
먼저 1번으로 풀어보겠습니다.
1) 정수를 문자열로 변환해서 자리수 구하기(list comprehension, map)
# 정수의 자리수 구하기(list comprehension) x = 1457 a = [int(i) for i in str(x)] print(a) #[1,4,5,7]
# map으로 정수 자리수 구하기 a = 1432 b = list(map(int,str(a))) print(b) # [1, 4, 3, 2]
정수형을 문자열형으로 바꾼 뒤 각각의 자리를 정수로 바꿔서 출력을 했습니다.
2) 나머지 연산자(%와 몫 연산자(//)를 통해 구하기
# evaluate digit using only integer x = 1234 b = [] while x: b.insert(0,x%10) x//=10 print(b) #[1,2,3,4]
x가 0이 될때까지, 반복문이 돌아갑니다.
빈 리스트 b에 x의 나머지 연산 후 나머지값이 들어가고,
x를 다시 몫 연산자로 값을 줄여나갑니다.
2. 정수 자리수 합 구하기
합 같은 경우 위의 리스트들에 대한 합을 구하시면 됩니다.
이번엔 다른 방식으로 합을 구하는 법을 보여 드리겠습니다.
# 자리수 합 a = 1234 sum = 0 while a: sum += (a%10) a//=10 print(sum) # 12
나머지 연산후 sum에 += 연산자를 이용하여 합을 구하는 알고리즘입니다.
이러면 굳이 리스트 item들의 합을 구하지 않아도 됩니다.
댓글
댓글 쓰기