본문 바로가기

프로그램언어/파이썬

거북이 원 모양으로 글자쓰기

[프로그램 2]를 수정해 다음과 같이 반시계방향으로 원을 그리면서 글자를 입력하시오.

힌트 : 중심에서 반지름은 100정도로 한다. 글자의 크기는 20정도로 고정한다.

힌트 : 360도에서 문자열의 개수만큼 나누어 각도를 회전시키면서 글자를 쓴다.

힌트 : 거리와 각도로 좌표를 구하는 공식은 다음과 같다.

        공식 : X좌표 = 거리 * COS(각도),  Y좌표 = 거리 * SIN(각도) 

힌트 : COS() 및 SIN()함수의 각도는 라디안값으로 처리해야 한다.

        라디안 = 3.14 * 각도 / 180

 

소스코드

import turtle

import random

from tkinter.simpledialog import *

import math

 

## 전역 변수 선언 부분 ##

inStr = ''

swidth, sheight = 300, 300

tX, tY, txtSize = 0, 0, 20

radius, angle, radian = 100, 0, 0

 

## 메인 코드 부분 ##

turtle.title('거북이 글자쓰기')

turtle.shape('turtle')

turtle.setup(width = swidth + 50, height = sheight + 50)

turtle.screensize(swidth, sheight)

turtle.penup()

 

inStr = askstring('문자열 입력', '거북이 쓸 문자열을 입력')

angle = 360 / len(inStr) # 문자열의 길이로 각도 설정

 

for ch in inStr :

    radian = 3.14*angle/180

    tX = radius*math.cos(radian)

    tY = radius*math.sin(radian)

    r = random.random(); g = random.random(); b = random.random()

 

    turtle.goto(tX, tY)

 

    turtle.pencolor((r, g, b))

    turtle.write(ch, font=('맑은 고딕', txtSize, 'bold'))

    angle += 360 / len(inStr) # 각도만큼 반시계로 회전

 

turtle.done()

'프로그램언어 > 파이썬' 카테고리의 다른 글

1.강 Hello world 출력  (1) 2020.06.17
거북이 글자쓰기(모듈버전)  (0) 2020.06.04
거북이 글자쓰기  (0) 2020.06.03
거북이 리스트 활용 정렬  (0) 2020.06.03
거북이 리스트 활용  (0) 2020.06.03