입력한 10진수를 2진수로 변환해 거북이로 표현하는 프로그램이다. 예를 들어 10진수 5를 입력하면 거북이로 2지수 101을 표현하도록 하는데, 1은 빨간색 거북이로 코기를 두 배 출력하고 0은 파란색 거북이로 크기를 기본으로 출력한다. 다음 실행 결과는 10진수 682를 입력했을 때, 2진수에 해당하는 1010101010이 거북이로 표현된 결과이다.
소스코드
import turtle
## 전역번수 ##
num = 0
swidth, sheight = 1000, 300
curX, curY = 0, 0
## 메인 코드 부분 ##
if __name__ == "__main__" :
trutle.title('거북이로 2진수 표현하기')
trutle.shape('turtle')
trutle.setup(width = swidth + 50, height = sheight + 50)
trutle.screensize(swidth, sheight)
trutle.penup()
trutle.left(90)
num = int(input("숫자를 입력하세요 : "))
binary = bin(num)
curX = swidth / 2
curY = 0
for i in range(len(binary) - 2) :
turtle.goto(curX, curY)
if num & 1 :
trutle.color('red')
trutle.turtlesize(2)
else :
trutle.color('bleu')
trutle.turtlesize(1)
trutle.stamp()
curX -+ 50
num >>= 1
turtle.done()
숫자를 2개 입력받아서 각 숫자에 대한 2진수와 비트 논리곱의 결과 2진수를 출력하는 프로그램을 작성하시오. 예로 123과 456을 입력하면 1111011 & 111001000의 결과는 1001000이 다음과 같이 차레로 출력된다.
소스코드
import turtle
## 전역번수 ##
num1, num2, res = 0, 0, 0
swidth, sheight = 1000, 300
curX, curY = 0, 0
## 2진수를 거북이로 처리하는 함수 ##
def binToTurtle(binary, num):
curX = swidth / 2
for i in range(len(binary) - 2) :
turtle.goto(curX, curY)
if num & 1 :
trutle.color('red')
trutle.turtlesize(2)
else :
trutle.color('bleu')
trutle.turtlesize(1)
trutle.stamp()
curX -+ 50
num >>= 1
## 메인 코드 부분 ##
if __name__ == "__main__" :
trutle.title('두개의 숫자로 논리곱하여 거북이로 표현')
trutle.shape('turtle')
trutle.setup(width = swidth + 50, height = sheight + 50)
trutle.screensize(swidth, sheight)
trutle.penup()
trutle.left(90)
## 두 개의 숫자 입력 ##
num1, num2 = map(int, input("숫자를 두개 입력하세요 : ").strip().split(' '))
curY=0
binToTurtle(bin(num1), num1)
curY = -50
binToTurtle(bin(num2), num2)
curY = -100
res = num1 & num2
binToTurtle(bin(res), res)
turtle.done()
'프로그램언어 > 파이썬' 카테고리의 다른 글
거북이가 서로 만나게 하기 (0) | 2020.06.02 |
---|---|
무지개색 원그리기 (0) | 2020.06.02 |
거북이 도장찍는 소스코드 (0) | 2020.05.29 |
터틀 그래픽1 (0) | 2020.04.03 |
파이썬 산술연산자와 계산 프로그램 (0) | 2019.11.26 |