파이썬 초급 #045 함수 - 10진수를 이진수로 변환하는 프로그램 , 함수 파일 분리(모듈화)와 호출(from deciTobin import deciTobin)
안녕하세요. 스마트팩토리입니다.
파이썬 초급 #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)")
