본문 바로가기

프로그램언어/파이썬

거북이로 두개의 숫자를 입력받아 논리곱하기

입력한 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