안녕하세요. 스마트팩토리입니다.
파이썬 초급 #045 함수 - 10진수를 이진수로 변환하는 프로그램 함수 파일 분리와 호출에 대해 알아보겠습니다.
1. 십진수를 이진수로
가. 10진수를 2진수로
- 예를 들어 10 을 2 로 나누면 몫은 5 나머지는 0
5 를 2 로 나누면 몫은 2 나머지는 1
2를 2로 나누면 몫은 1 나머지는 0
10은 2진수로 바꾸면 1010(2) 가 된다.
이를 코드로 바꾸면 2로 나누고 나머지가 있으면 0을 붙여주고, 나머지가 있는 경우 1을 붙여주면서 몫을 계속 2로 나누면 된다.
코드를 보면서 알아보겠습니다.
def deciTobin(num):
binary=""
while num !=0:
if num%2==0:
binary="0"+binary
num=num//2
else:
binary="1"+binary
num=num//2
return binary
decitobin 함수에서 매개변수로 입력값을 가져옵니다.
여기서 2진수로 받을 변수를 binary로 하고 처음에는 아무 것도 없는 ""으로 했습니다.
매개변수를 2로 나누어 0인 경우와 그렇지 않은 경우 1에는 각각 0 과 1을 넣습니다. 여기서 숫자를 넣으면 연산을 하는 관계로 "0"으로 문자로붙여넣습니다.
num=int(input("숫자를 입력하세요:"))
print(num,"을 이진수로 바꾸면:",deciTobin(num),"(2)")
메인에서 숫자를 입력 받아 10진수를 2진수로 바꾸는deciTobin 함수를 호출하여 리턴값을 받아서 출력하면 됩니다.
def deciTobin(num):
binary=""
while num !=0:
if num%2==0:
binary="0"+binary
num=num//2
else:
binary="1"+binary
num=num//2
return binary
num=int(input("숫자를 입력하세요:"))
print(num,"을 이진수로 바꾸면:",deciTobin(num),"(2)")
함수 부분과 파일 분리
def deciTobin(num):
binary=""
while num !=0:
if num%2==0:
binary="0"+binary
num=num//2
else:
binary="1"+binary
num=num//2
return binary
함수 부분을 모듈화 하여 따로 파이썬 파일로 만들었습니다.
def deciTobin(num):
binary=""
while num !=0:
if num%2==0:
binary="0"+binary
num=num//2
else:
binary="1"+binary
num=num//2
return binary
from deciTobin import deciTobin
모듈화한 함수 부분을 호출하는 부분입니다.
num=int(input("숫자를 입력하세요:"))
print(num,"을 이진수로 바꾸면:",deciTobin(num),"(2)")
from deciTobin import deciTobin
num=int(input("숫자를 입력하세요:"))
print(num,"을 이진수로 바꾸면:",deciTobin(num),"(2)")
'Python' 카테고리의 다른 글
파이썬 초급 #047 함수 - 함수 모듈 호출 및 적용(2) import 함수파일명, from 함수파일명 import 함수명 (0) | 2022.02.27 |
---|---|
파이썬 초급 #046 함수 - 사칙연산 함수 모듈 호출 및 적용 (import, from 파일명 import*) (0) | 2022.02.26 |
파이썬 초급 #044 함수 - 키워드 인수 덧셈 함수 (0) | 2022.02.23 |
파이썬 초급 #043 함수 - 함수 선언 및 호출 두 수 중 큰수와 작은수 출력하는 코드 (0) | 2022.02.22 |
파이썬 초급 #042 함수 - 함수 선언 및 호출(1부터 10까지 합) (0) | 2022.02.20 |
댓글