중고생을 위한 경성 프로그래밍 교육(파이썬 프로그래밍) - 2.제어문 파이썬특강2.pptx
랜덤워크(파이썬 프로그래밍)
랜덤 워크(random walk)를 시뮬레이션에서 turtle 그래픽을 사용할 수 있다.
격자 공간에서 랜덤 워크(정원을 산책한다거나 어떤 꽃을 보기 위해 돌아다니는 것과 같이)를 시뮬레이션 하는 turtle 프로그램을 작성해보자.
import turtle
from random import randint
turtle.speed(1) # turtle을 최저속도로 설정한다.
# 16 x 16 격자를 그린다.
turtle.color("gray") # 격자의 색상
x = -80
for y in range(-80, 80+1, 10):
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
turtle.forward(160)
y = 80
turtle.right(90)
for x in range(-80, 80+1, 10):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.forward(160)
turtle.pensize(3)
turtle.color("red")
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
x = y = 0 # 격자 중앙에서 현재 pen의 위치
while abs(x) < 80 and abs(y) < 80:
r = randint(0, 3)
if r == 0:
x += 10 #오른쪽으로 걷는다.
turtle.setheading(0)
turtle.forward(10)
elif r == 1:
y -= 10 #아래쪽으로 걷는다.
turtle.setheading(270)
turtle.forward(10)
elif r == 2:
x -= 10 #왼쪽으로 걷는다.
turtle.setheading(180)
turtle.forward(10)
elif r == 3:
y += 10 #위쪽으로 걷는다.
turtle.setheading(90)
turtle.forward(10)
turtle.done()
실행결과
'컴퓨터 > Python' 카테고리의 다른 글
[경성 프로그래밍 교육 2일차]파이썬 프로그래밍 - 생일 맞히기 (0) | 2017.08.08 |
---|---|
[경성 프로그래밍 교육 3일차]파이썬 프로그래밍 - 회문 검사하기 (1) | 2017.08.08 |
[경성 프로그래밍 교육 3일차]파이썬 프로그래밍 - 16진수를 10진수로 변환하기 (0) | 2017.08.07 |
[경성 프로그래밍 교육 3일차]파이썬 프로그래밍 - Rational클래스 (0) | 2017.08.07 |
[경성 프로그래밍 교육 2일차]파이썬 프로그래밍 - 윤년 판별하기 (6) | 2017.08.06 |
[경성 프로그래밍 교육 2일차]파이썬 프로그래밍 - 체질량지수 계산하기 (2) | 2017.08.06 |
[경성 프로그래밍 교육 1일차]파이썬 프로그래밍 - 다양한 도형 그리기 (5) | 2017.08.05 |
[경성 프로그래밍 교육 1일차]파이썬 프로그래밍 - 거리 계산하기 GUI(turtle) (1) | 2017.08.05 |