728x90
반응형
파이썬 숫자 각 자리수 분리 방법
파이썬(Python) 코딩으로 숫자를 입력받아 일의 자리의 숫자, 십의자리의 숫자, 백의자리의 숫자, 천의자리의 숫자 등 각 자리수 숫자를 분리하는 방법에 대해서 예제 코드를 통해서 설명하도록 하겠습니다.
기본 수식 방법
🌈 구하고자 하는 자리수를 1의 자리로 강제로 옮겨 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
'''
몫, 나머지 연산자 사용 방법 (//, %)
🌈 산술 연산자의 몫 구하는 연산자(//)와 나머지 구하는 연산자(%)를 활용해서 각 자리수를 분리할 수 있습니다.
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
'''
사용자 정의 함수로 간소화 방법
🌈 연산자 //, %를 활용한 방법을 함수로 만들어 코드를 간략하게 만들 수 있습니다.
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
'''
문자열 인덱싱, 슬라이싱 활용 방법
🌈 숫자를 문자열 타입으로 변환하고 문자열 슬라이싱 방법을 통해 각 자리수를 분리할 수 있습니다.
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
'''
숫자 버림 활용 방법 (trunc)
🌈 math.trunc()는 숫자 버림 기능을 하는 메서드 입니다. 해당 메서드를 통해 구하고자 하는 자리수의 숫자 밑으로는 버림 처리하고 1의 자리에 남겨놓는 방법입니다.
import math
n = 1234
n1 = math.trunc(((n * 0.1) % 1) * 10)
n2 = math.trunc(((n * 0.01) % 1) * 10)
n3 = math.trunc(((n * 0.001) % 1) * 10)
n4 = math.trunc(((n * 0.0001) % 1) * 10)
print(f'일의 자리 : {n1}')
print(f'십의 자리 : {n2}')
print(f'백의 자리 : {n3}')
print(f'천의 자리 : {n4}')
'''
실행 결과
일의 자리 : 4
십의 자리 : 3
백의 자리 : 2
천의 자리 : 1
'''
728x90
반응형
'프로그래밍 > [Python] 파이썬' 카테고리의 다른 글
[Python] 파이썬 관계 연산자, 논리 연산자 - 기본 연산자 (0) | 2024.09.10 |
---|---|
[Python] 파이썬 이스케이프 문자 정리 (0) | 2024.09.09 |
[Python] 파이썬 산술 연산자, 대입 연산자 - 기본 연산자 (0) | 2024.09.07 |
[Python] input() 함수 - 파이썬 입력 함수 사용 (0) | 2024.09.05 |
[Python] 문자열 포맷팅 f-string 활용 - 파이썬 문법 (0) | 2024.09.04 |