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

Rysowanie kolorowego okręgu z turtle w Pythonie

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import turtle

# kolory kolejnych wycinków okręgu
colors = [
    "#880000", "#884400", "#888800", "#008800",
    "#008888", "#000088", "#440088", "#880088"
]

turtle.reset()  # skasowanie ustawień i powrót żółwia do wyjściowego miejsca
turtle.clear()  # wyczyszczenie ekranu z poprzednich rysunków
turtle.speed(0) # maksymalna prędkość żółwika

# wyliczenie jaki kąt (wycinek okręgu) będzie zajmował każdy kolor
angle = 360/len(colors)

# grubość rysowanej kreski 
turtle.width(10)

for color in colors:

    # zmiana koloru
    turtle.color(color)

    # rysowanie wycinka koła o promieniu 100 i zadanym kącie 
    turtle.circle(100, angle)
żółwik rysuje kolorowy okrąg

Użycie grubszej kreski i powtórzenie pierwszego koloru pozwala uzyskać nakładanie się kresel

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import turtle

# kolory kolejnych wycinków okręgu
colors = [
    "#880000", "#884400", "#888800", "#008800",
    "#008888", "#000088", "#440088", "#880088"
]

turtle.reset()  # skasowanie ustawień i powrót żółwia do wyjściowego miejsca
turtle.clear()  # wyczyszczenie ekranu z poprzednich rysunków
turtle.speed(0) # maksymalna prędkość żółwika

# wyliczenie jaki kąt (wycinek okręgu) będzie zajmował każdy kolor
angle = 360/len(colors)

# grubość rysowanej kreski 
turtle.width(50)

for color in colors:

    # zmiana koloru
    turtle.color(color)

    # rysowanie wycinka koła o promieniu 100 i zadanym kącie 
    turtle.circle(100, angle)

# zmiana na początkowy kolor
turtle.color(colors[0])

# rysowanie bardzo małego wycinka aby uzyskać efekt 
# nałożenia pierwszego wycinka na ostatni
turtle.circle(100, 1)
żółwik rysuje kolorowy okrąg
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