Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 월간결산
- python visualization
- Tistory
- Python
- 티스토리
- 시각화
- MySQL
- 서평
- SQL
- 파이썬 시각화
- 딥러닝
- Linux
- Blog
- Google Analytics
- Visualization
- 리눅스
- Pandas
- tensorflow
- 한빛미디어서평단
- 텐서플로
- Ga
- matplotlib
- 한빛미디어
- 독후감
- 서평단
- 매틀랩
- 통계학
- MATLAB
- 블로그
- 파이썬
Archives
- Today
- Total
pbj0812의 코딩 일기
[수학] python을 이용한 십진법 변환기 제작 본문
0. 목표
- python을 이용한 십진법 변환기 제작
1. 플로우 차트
- 소수점을 기준으로 정수 부분과 소수 부분을 분리
- 정수 부분은 뒤집어서 순서대로 계산
- 각 계산결과 덧셈
2. 실습
1) 정수 변환 모듈
(1) list 형태로 받아서 숫자 하나씩 쪼갬(ex : 1101 => 1, 1, 0, 1)
(2) 뒤집기
(3) for 문을 이용하여 십진법 변환
def numeral_int(inp, num):
tmp = list(inp)
tmp.reverse()
len_inp = len(inp)
result = 0
for i in range(len_inp):
result += int(tmp[i]) * (num ** i)
return result
- 테스트
print(numeral_int('1101', 2))
- 결과
13
2) 소수 변환 모듈
(1) list 형태로 받아서 숫자 하나씩 쪼갬(ex : 1101 => 1, 1, 0, 1)
(2) for 문을 이용하여 십진법 변환
* 이 때 i + 1 을 해줘서 1승부터 시작
def numeral_decimal(inp, num):
tmp = list(inp)
len_inp = len(inp)
result = 0
for i in range(len_inp):
result += int(tmp[i]) / (num ** (i + 1))
return result
- 테스트
print(numeral_decimal('101', 2))
- 결과
0.625
3) 통합 모듈
(1) str 형태로 변환
(2) .을 기준으로 분리(소수점 없을 경우 무시) 및 리스트화
(3) 분리 결과의 길이가 2일 경우 정수 변환 모듈과 소수 변환 모듈의 결과의 덧셈 결과를 출력,
아닐 경우(길이가 1일 경우) 정수 변환 모듈만 적용
def numeral(inp, num):
tmp = str(inp)
tmp2 = tmp.split('.')
result = 0
if len(tmp2) == 2:
tmp_int = numeral_int(tmp2[0], num)
tmp_decimal = numeral_decimal(tmp2[1], num)
result = tmp_int + tmp_decimal
else:
result = numeral_int(tmp2[0], num)
return result
- 테스트
print(numeral(1101.101, 2))
- 결과
13.625
3. 참고
- 수학의 정석(10-가)
'Science > 수학' 카테고리의 다른 글
[수학] python을 통한 범주형 피처 처리(클래스, 이진법, 원핫인코딩) (0) | 2020.10.31 |
---|---|
[수학] python scatter plot을 이용한 구 그리기 (0) | 2020.10.08 |
[수학] python으로 최대공약수, 최소공배수 구하기(사람처럼 생각하기) (0) | 2020.09.25 |
[수학] python을 이용한 파스칼의 삼각형 구현 (0) | 2020.09.23 |
[수학] python을 이용한 집합 연산하기 (0) | 2020.09.22 |
Comments