Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Heitetään pisteitä satunnaisesti neliölle
- # Osa pisteistä osuu neliön sisällä olevalle neljännesympyrälle
- # Lasketaan tuloksista Piin arvo
- # Juhani Kaukoranta 27.3.2019
- import pygame
- import random
- import time
- # heitetään satunnaispisteitä ympyrän jonka keskellä on neliö
- # piirtoruudun koko 600,600
- # neliön koko keskellä 400,400
- # keskipiste 300,300
- width = 600
- height = 600
- def monte_carlo_pi(n):
- accum = 0
- screen = pygame.display.set_mode((width, height))
- for i in range(n):
- x = random.randint(100,500)
- y = random.randint(100,500)
- pygame.display.flip()
- if ((x-300)**2 + (y-300)**2) < 40000 :
- screen.set_at((x, y), (255, 0, 0))
- accum += 1
- else :
- screen.set_at((x, y), (0, 0, 255))
- return 4.0*accum/n
- pisteita = int(input("Kuinka monta pistettä arvotaan "))
- time0 = time.perf_counter()
- print("Pii = ",monte_carlo_pi(pisteita))
- time1 = time.perf_counter()
- print("Aikaa kului ",time1-time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment