출처 : 반크_독도2023
나무를 그리는 프렉탈(fractal) 프로그램 작성하기.
참고 풀이]
import turtle
import random
def tree(length,size,do):
if length>5: #length가 5보다 크면 순환호출을 한다.
t.forward(length) #포인터가 length만큼 선을 그린다.
t.right(do) #오른쪽으로 do도 회전한다.
#lenght에 size만큼 뺀 값을 인수로 tree()를 순환호출한다.
tree(length-size,size,do)
t.left(do*2) #왼쪽으로 do*2도 회전한다.
#lenght에 size만큼 뺀 값을 인수로 tree()를 순환호출한다.
tree(length-size,size,do)
t.right(do) #오른쪽으로 do도 회전한다.
t.backward(length) #length만큼 뒤로 간다. 제자리로 돌아온다.
t=turtle.Turtle()
t.up() #나무의 위치를 이동하기 위하여 포인터를 올린다.
t.goto(0,-200) #시작위치를 임의의 아래로 이동한다.
t.down() #나무를 그리기 위하여 포인터를 내린다.
t.left(90) #나무를 그리기 위하여 포인터를 위로 향하게 한다.
t.color("green") #선의 색을 녹색으로 한다.
t.speed(0) #그리는 속도를 제일 빠르게 한다.
n=random.randint(10,30) #구분될 선길이를 구한다.
k=random.randint(10,50) #가지의 각도를 구한다.
#최초 선길이 90, 구분될 선길이와 가지의 각도를 인수로 tree()를 호출한다.
tree(90,n,k)
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 봄
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 261제] 두근두근 파이썬(개정판) CHAPTER 7 연습문제2 p232 (0) | 2024.02.10 |
---|---|
Python 260제] 두근두근 파이썬(개정판) CHAPTER 7 연습문제1 p232 (0) | 2024.02.10 |
Python 258제] 두근두근 파이썬(개정판) CHAPTER 7 도전문제 p223 (1) | 2024.01.24 |
Python 257제] 두근두근 파이썬(개정판) CHAPTER 7 도전문제 p219 (0) | 2024.01.24 |
Python 256제] 두근두근 파이썬(개정판) CHAPTER 7 도전문제 p214 (2) | 2024.01.24 |
댓글