출처 : 반크_독도2023
참고풀이]
import turtle
import random
import math
#원하는 위치에 점을 찍는다.
def Jum(s):
t.color(s)
t.begin_fill()
t.up()
t.goto(x,y)
t.down()
t.stamp()
t.end_fill()
#몬테카를로 시뮬레이션을 이용하여 파이의 값을 계산하기
#사각형과 원을 그린다.
#원의 반지름 : 1 > 원의 넓이 : PI
#정사각형의 한변의 길이 : 2(반지름**2)
#사각형의 넓이 : 4
#점이 원 내부에 찍힐 확률 :
#(원의 면적)/(사각형의 면적) = PI/4
#350배 확대하여 값을 구한다. 사각형과 원을 그린다.
t=turtle.Turtle()
t.shape("circle")
t.speed(0)
#그림 그릴 위치를 이동한다
t.up()
t.goto(0,-350)
t.down()
t.hideturtle() #shape를 숨긴다.
t.circle(350) #원그리기
t.forward(350) #사각형 그리기
t.left(90)
t.forward(700)
t.left(90)
t.forward(700)
t.left(90)
t.forward(700)
t.left(90)
t.forward(350)
t.left(90) #중심선 그리기
t.forward(700)
t.left(90)
t.forward(350)
t.left(90)
t.forward(350)
t.left(90)
t.forward(700)
#점을 10000000개 찍는다.
#t.pensize(1)
for i in range(10000000): #10000000
x=random.randint(-350,350)
y=random.randint(-350,350)
#(원의 면적)/(사각형의 면적) = PI/4
#반지름과 정사각형의 한변 길이
r=math.sqrt(abs(x)**2+abs(y)**2)
Pi=3.14124*r**2/(2*r)**2*4
Chk=3.14124*350**2
if 3.14124*r**2<=Chk:
str="red"
Jum(str)
else:
str="blue"
Jum(str)
t.up()
t.goto(50,360)
t.down()
t.write(f"PI : {Pi}",font=("휴먼옛체",20))
참고풀이 결과]
대한민국의 아름다운 영토, 독도
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 275제] 2014년 한국정보올림피아드 지역본선 초등부 1번 과자 (0) | 2024.05.08 |
---|---|
Python 274제] 2015년 한국정보올림피아드 지역본선 초등부 1번 10부제 (0) | 2024.05.07 |
Python 272제] 두근두근 파이썬(개정판) CHAPTER 8 도전문제 p245 (1) | 2024.03.15 |
Python 271제] 두근두근 파이썬(개정판) CHAPTER 8 도전문제 p243 (0) | 2024.03.15 |
Python 270제] 두근두근 파이썬(개정판) CHAPTER 7 연습문제11 p236 (2) | 2024.02.13 |
댓글