furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

Rysowanie w Turtle - Wielobok

WERSJA ROBOCZA WPISU

Wielobok foremny

(ang: regular polygon)

Chcemy narysować figurę o N bokach. Tak jak poprzednio podczas rysowania żółw musi wykonać obrót o 360 stopni a ponieważ ma zrobić N skrętów więc każdy z nich musi mieć 360/N stopni.

Pięciobok foremny będzie wymagał pięciu obrotów o 360/5 = 72 stopni każdy.

import turtle

for _ in range(5):
    turtle.forward(100)
    turtle.left(72)

turtle.mainloop()

Sześciobok foremny będzie wymagał sześciu obrotów o 360/6 = 60 stopni każdy.

import turtle

for _ in range(6):
    turtle.forward(100)
    turtle.left(60)

turtle.mainloop()

Można więc stworzyć z tego funkcję, która będzie przyjmować N (ilość boków) i sama będzie wyliczać wielkość skrępu.

import turtle

def wielobok(ilosc_bokow):
   kat = 360 / ilosc_bokow
   for _ in range(ilosc_bokow):
       turtle.forward(100)
       turtle.left(kat)

wielobok(3)
wielobok(4)
wielobok(5)
wielobok(6)

turtle.mainloop()

Można tu zastosować pętlę for

import turtle

def wielobok(n):
   kat = 360 / n
   for _ in range(n):
       turtle.forward(100)
       turtle.left(kat)

for n in range(3, 16):
    wielobok(n)

turtle.mainloop()
python - rysowanie w turtle - wielobok
Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury