marca 28, 2023
Kartka urodzinowa zaprogramowana w Pythonie
W klasach ósmych wprowadzam język programowania Python. Zaczynamy od podstawowych poleceń i konstrukcji (pętle, instrukcja warunkowa). Staram się krok po kroku wprowadzać uczniów w temat, zaznajamiając ich ze składnią nowego języka. Dostrzegają analogie do stosowanych wcześniej języków graficznych - na przykład do Scratcha. Nie ukrywam jednak, że dla niektórych z nich to zupełna abstrakcja.
Dlatego chcąc nico "osłodzić" lekcje z Pythonem, wprowadzam ich w bibliotekę Turtle. I tutaj następuje jakiś cud, bo to co tworzą w zadaniu podsumowującym jest po prostu niesamowite. Nawet Ci, którzy marudzili tworząc kod dotyczący działań na liczbach, przy bibliotece Turtle nie mają żadnych uwag.
Daję im do ręki ściągę z podstawowymi poleceniami i działamy.
Zaczynamy od dwóch linijek kodu, a ostatecznie kończą czasem na kilkudziesięciu.
Dokładnie omawiam z nimi funkcję pozwalającą narysować dowolny wielokąt foremny, a później zapętlamy i powstają piękne, kolorowe rozety.
W powyższej funkcji zmienna ile oznacza ilość boków wielokąta, a zmienna bok, ich długość. Dzięki takiej konstrukcji , możemy rysować dowolne wielokąty o dowolnej długości boku. Wywołanie funkcji wiel(6,60) oznacza, że powstanie sześciokąt o boku 60.
Po ustawieniu grubości pisaka na 5 i jego koloru na czerwony, uruchomiona zostaje pętla, w wyniku działania której powstaje rozeta zbudowana z 12 sześciokątów.
Wystarczy, że ponownie powtórzymy pętlę, tyle że ze zmienioną długością boku sześciokąta, a powstanie druga, mniejsza rozeta, Jeśli uprzednio zmienimy też kolor pisaka, powstanie dość atrakcyjna konstrukcja.
Dla skrócenia kodu, można utworzyć funkcję rysującą dowolną rozetę. Moja funkcja ma trzy zmienne. Dwie pierwsze dotyczą wielokąta, trzecia zaś z_ilu oznacza z ilu wielokątów zbudowana zostanie rozeta. Wywołując funkcję rozeta musimy podać ilość boków wielokąta (ile), długość jego boku (bok) i z ilu wielokątów powstanie rozeta (z_ilu)
Jeśli chcielibyśmy stworzyć więcej rozet, potrzebujemy przemieścić pisak w inne miejsce. Aby to zrobić musimy podnieść pisać (penup()), następnie przenieść go w inne miejsce (goto(x,y)), opuścić na powrót pisać (pendown()), a następnie ponownie wywołać funkcję rozeta i wybranymi parametrami.
Polecenie |
Działanie |
turtle.forward(x) |
Do przodu o x |
turtle.backward(x) |
Do tyłu o x |
turtle.left(x) |
Obrót w lewo o x stopni |
turtle.right(x) |
Obrót w prawo o x stopni |
turtle.goto(x,y) |
Skok do miejsca o współrzędnych x,y |
turtle.width(x) |
Grubość pisaka |
turtle.pencolor(x) |
Kolor pisaka |
turtle.penup() |
Podnoszenie pisaka |
turtle.pendown() |
Opuszczanie pisaka |
turtle.bgcolor() |
Kolor tła |
turtle.circle(x) |
Koło o promieniu x |
turtle.reset() |
Czyszczenie ekranu i ustawia pióro na środku |
turtle.clear() |
Czyszczenie ekranu |
turtle.write(„tekst”, font=(„Arial”, „30”, „bold”)) |
Napis o określonych parametrach |
turtle.begin_fill() /turtle.end_fill() |
Wypełnianie figury kolorem |
turtle.speed(x) |
Przyspiesza rysowanie (x=0 – najszybciej) |
Brak komentarzy:
Zachęcam do komentowania i dzielenia się spostrzeżeniami i opiniami na temat mojego bloga i tematyki postów.