파이썬 문자열에 나오는 숫자만 나누는 방법을 알고 싶습니다.
조회수 1292회
파이썬으로 코딩을 하고 있는데
홍길동 1,200,000원, 임꺽정 3,000,000원, 장길산 6,000,000원
이라는 문자열에 나오는 금액만을
1/2로 나누어
홍길동 600,000원, 임꺽정 1,500,000원, 장길산 3,000,000원
으로 하거나
1/3로 나누어
홍길동 400,000원, 임꺽정 1,000,000원, 장길산 2,000,000원
으로 하는 방법을 잘 모르겠습니다.
즉, 나누는 비율을 자유자재로 바꿔가면서 문자열에 나오는 금액만을 나누는 방법(천단위 쉼표는 유지하 면서)에 대해 알고 싶습니다.
re 모듈을 사용하면 된다는 건 어렴풋이 알겠는데 잘 모르겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
아래 참고하세요.
import re moneys = ['1,200,000', '3,000,000', '6,000,000'] template = '홍길동 {0}원, 임꺽정 {1}원, 장길산 {2}원' print(template.format(*moneys)) m = re.compile(r'홍길동 (\d{1,3}[,\d{3}]*)원, 임꺽정 (\d{1,3}[,\d{3}]*)원, 장길산 (\d{1,3}[,\d{3}]*)원') print(template.format(*['{:,}'.format(int(money.translate({ord(','): ''})) // 2) for money in m.search(s).groups()])) 홍길동 1,200,000원, 임꺽정 3,000,000원, 장길산 6,000,000원 홍길동 600,000원, 임꺽정 1,500,000원, 장길산 3,000,000원
댓글 입력