티스토리 뷰

# 본 포스트는 파이썬 마을 게시판 이만용님 게시물을 인용하여 재구성 하였습니다.

일반적으로,

-234,452,234.45345

와 같은 형식으로 출력하기 위해서는 간단하게 작성해야 한다.

import sys

num = raw_input("Insert any number") # 일단 string형태로 숫자를 받아오면
sep_thousand = ','	 # 1000 단위
sep_decimal = '.'	 # 소숫점 단위


if num[:1] in ['+', '-']: # 부호 표시가 있는지
    sign_mark, num = num[:1], num[1:] # 부호 표시가 있으면 부호표시 제공
else:
    sign_mark = ''

pos = num.find(sep_decimal) # 소숫점 단위는 있는지

if pos >= 0:
    num, decimal_fract = num[:pos], num[pos:] # 소숫점 형태가 있으면 제공
else:
    decimal_fract = ''

n_num = ''

while num: #더 이상 숫자가 없으면 종료
    num, t_num = num[:-3], num[-3:] #뒤에서 부터 숫자가 나눠져서 입력됨
    if n_num:
        n_num = t_num + sep_thousand + n_num
    else:
        n_num = t_num # 최초 n_num 이 없을 때 세자리 수 입력

print sign_mark + n_num + decimal_fract

설명으로 주석을 넣어 두었으니 참조하길 바란다.
댓글
댓글쓰기 폼