본문 바로가기

프로그래밍/[Python] 파이썬

[Python] 파이썬 숫자 자릿수 분리 5가지 방법

by GenieIT* 2024. 9. 8.

728x90
반응형
728x90
반응형

 

요약

파이썬 코딩으로 숫자를 입력받아 일의 자리의 숫자, 십의자리의 숫자, 백의자리의 숫자, 천의자리의 숫자 등 각 숫자를 분리하는 방법에 대해 프로그래밍 소스를 작성하였습니다.

  • 기본 수식 방법
  • 몫, 나머지 연산자 사용 방법 (//, %)
  • 사용자 정의 함수로 간소화 방법
  • 문자열 인덱싱, 슬라이싱 활용 방법
  • 숫자 버림 활용 방법 (trunc)

 

 

1. 기본 수식 방법

n = 1234

n1 = n % 10
n2 = ((n - (n % 10)) * 0.1) % 10
n3 = ((n - (n % 100)) * 0.01) % 10
n4 = ((n - (n % 1000)) * 0.001) % 10

print(f'일의 자리 : {n1}')
print(f'십의 자리 : {n2}')
print(f'백의 자리 : {n3}')
print(f'천의 자리 : {n4}')

'''
실행 결과
일의 자리 : 4
십의 자리 : 3
백의 자리 : 2
천의 자리 : 1
'''

 

2. 몫, 나머지 연산자 사용 방법 (//, %)

n = 1234

n1 = n // 1 % 10
n2 = n // 10 % 10
n3 = n // 100 % 10
n4 = n // 1000 % 10

print(f'일의 자리 : {n1}')
print(f'십의 자리 : {n2}')
print(f'백의 자리 : {n3}')
print(f'천의 자리 : {n4}')

'''
실행 결과
일의 자리 : 4
십의 자리 : 3
백의 자리 : 2
천의 자리 : 1
'''

 

 

3. 사용자 정의 함수로 간소화 방법 >> 2번 방법 활용

def cal_output (num, digit) : # num : 원본 숫자, digit : 추출 원하는 자릿수
    return num // digit % 10

n = 1234

n1 = cal_output(n, 1)
n2 = cal_output(n, 10)
n3 = cal_output(n, 100)
n4 = cal_output(n, 1000)

print(f'일의 자리 : {n1}')
print(f'십의 자리 : {n2}')
print(f'백의 자리 : {n3}')
print(f'천의 자리 : {n4}')

'''
실행 결과
일의 자리 : 4
십의 자리 : 3
백의 자리 : 2
천의 자리 : 1
'''

 

4. 문자열 인덱싱, 슬라이싱 활용 방법

n = 1234

s = str(n)
length = len(s)

n1 = s[length-1]
n2 = s[length-2]
n3 = s[length-3]
n4 = s[length-4]

print(f'일의 자리 : {n1}')
print(f'십의 자리 : {n2}')
print(f'백의 자리 : {n3}')
print(f'천의 자리 : {n4}')

'''
실행 결과
일의 자리 : 4
십의 자리 : 3
백의 자리 : 2
천의 자리 : 1
'''

 

 

5. 숫자 버림 활용 방법 (trunc)

import math

n = 1234

n1 = math.trunc(((1234 * 0.1) % 1) * 10)
n2 = math.trunc(((1234 * 0.01) % 1) * 10)
n3 = math.trunc(((1234 * 0.001) % 1) * 10)
n4 = math.trunc(((1234 * 0.0001) % 1) * 10)

print(f'일의 자리 : {n1}')
print(f'십의 자리 : {n2}')
print(f'백의 자리 : {n3}')
print(f'천의 자리 : {n4}')

'''
실행 결과
일의 자리 : 4
십의 자리 : 3
백의 자리 : 2
천의 자리 : 1
'''

 

 

 

728x90
반응형