Proyek kura-kura python dengan kode sumber

Python Turtle adalah sesuatu yang berevolusi dari bahasa pemrograman Logo, ditemukan pada tahun 1966 oleh Wally Feurzig. Dengan bantuan pendekatan Pemrograman Berorientasi Objek, kita dapat membuat kumpulan animasi yang mengesankan dengan mudah

Animasi berikut dibuat oleh Python Turtle;

Persyaratan

Sebelum menggunakan Python Turtle untuk animasi, harap lakukan langkah-langkah berikut untuk menginstal lingkungan

  • Unduh versi terbaru Python dari sini
  • Muat Python IDLE - Lingkungan Pengembangan dan Pembelajaran Terpadu - dari Windows
  • Buka file baru dan simpan dengan. ekstensi py
  • Tuliskan import turtle di bagian atas file untuk mengimpor modul - kelas dan metode
  • Tuliskan kodenya dan buat animasi yang mengesankan

Cara terbaik untuk mempelajari kura-kura Python adalah menjalankan serangkaian kode, dari yang paling sederhana hingga yang lebih maju secara bertahap, daripada berusaha memahami simulator sepenuhnya pada awalnya. Ini adalah pendekatan yang diadopsi dalam tutorial ini

Dokumentasi kura-kura Python ada di sini

Berikut adalah beberapa metode penyu;

InstruksiArti kura-kura. maju(angka)Maju kura-kura. kembali(nomor)Pindah mundurkura-kura. kanan(sudut)Putar kura-kura searah jarum jam. kiri(sudut)Putar kura-kura berlawanan arah jarum jam. pencolor(tali warna)Menggambar penyu warna. pensize(angka)Memilih ukuran pena nibturtle. lingkaran(jari-jari)Menggambar kura-kura lingkaran. kecepatan(angka)Memilih kecepatan - 1 sampai 10kura-kura. write(message,font)Menulis di layar kura-kura. ht() Menyembunyikan kura-kura. setpos(x,y)Mengubah posisi turtle

Menggambar sudut kanan

Animasi berikut menunjukkan kura-kura sedang bekerja menghasilkan sudut siku-siku di layar

Ini adalah kode untuk animasi di atas

import turtle    # mengimpor modul
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. penyiapan(400.300)    #memilih ukuran layar
layar. bgcolor('hitam')    #membuat kanvas menjadi hitam
trtl. pencolor('red')    #membuat warna pulpen menjadi merah
trtl. pensize(5)    #memilih ukuran ujung pena
trtl. speed(1)    #memilih kecepatan menggambar
trtl. shape('turtle')   #memilih bentuk ujung pena
trtl. maju(150)    #menggambar garis 200 piksel
trtl. kanan(90)    #meminta kura-kura berputar 90 derajat
trtl. maju(150)    #menggambar garis 200 piksel
trtl. penup()    # bersiap untuk memindahkan pena tanpa menggambar
trtl. setpos(-140,-120)    # membuat posisi baru kura-kura
trtl. pendown()   # menurunkan pena untuk menggambar lagi
trtl. pencolor('green')    # pilih warna pena sebagai hijau
trtl. write('Vivax Solutions', font=("Arial", 20, "bold"))    # memilih font
trtl. penup()
trtl. ht()    # menyembunyikan kura-kura dari layar

tanda # menunjukkan komentar dalam skrip Python

Menggambar Kotak

Animasi berikut menunjukkan bagaimana kura-kura menggambar persegi di layar

Ini adalah kode untuk animasi di atas

import turtle # mengimpor modul
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. penyiapan(400.300)    #memilih ukuran layar
layar. bgcolor('hitam')    #membuat kanvas menjadi hitam
trtl. pencolor('red')    #membuat warna pulpen menjadi merah
trtl. pensize(5)    #memilih ukuran ujung pena
trtl. speed(1)    #memilih kecepatan menggambar
trtl. shape('turtle')   #memilih bentuk ujung pena
trtl. maju(100)    #baris atas
trtl. benar(90)
trtl. maju(100)    # garis vertikal kanan
trtl. benar(90)
trtl. maju(100)   # baris terbawah
trtl. benar(90)
trtl. maju(100)   # garis vertikal kiri
# pencetakan informasi
trtl. penup()
trtl. setpos(-120,100)
trtl. pendown()
trtl. pena warna('hijau')
trtl. write('Persegi - Solusi Vivax', font=("Arial", 16, "bold"))
trtl. penup()
trtl. ht()

Meskipun, kode di atas menghasilkan persegi, itu bukan praktik pemrograman yang baik karena pengulangan kode, yang dapat diatasi dengan loop sederhana. Oleh karena itu kode dapat direvisi untuk menghasilkan bentuk yang sama dengan efisiensi sebagai berikut

import turtle    # mengimpor modul
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. penyiapan(400.300)    #memilih ukuran layar
layar. bgcolor('hitam')    #membuat kanvas menjadi hitam
trtl. pencolor('red')    #membuat warna pulpen menjadi merah
trtl. pensize(5)    #memilih ukuran ujung pena
trtl. speed(1)    #memilih kecepatan menggambar
trtl. shape('turtle')   #memilih bentuk ujung pena
untuk saya dalam rentang (4). # for loop untuk meminimalkan baris kode yang sama yang sedang ditulis
trtl. maju(100)   # untuk baris
trtl. kanan(90)    # untuk berbelok
# pencetakan informasi
trtl. penup()
trtl. setpos(-120,100)
trtl. pendown()
trtl. pena warna('hijau')
trtl. write('Persegi - Solusi Vivax', font=("Arial", 16, "bold"))
trtl. penup()
trtl. ht()

Perulangan for membuat gambar persegi jauh lebih mudah. Perannya sangat penting ketika kita membuat poligon lain

Buku yang Direkomendasikan

Jika Anda sedang belajar ilmu komputer di GCSE, berikut adalah satu set buku untuk Anda. mereka adalah panduan revisi, namun mencakup setiap topik, sambil memberikan banyak informasi untuk memahami konsep dengan cara yang inovatif;

Menggambar Poligon

Untuk mengubah kode di atas untuk menggambar poligon, kita perlu mempertimbangkan beberapa konsep dalam geometri. Seperti yang Anda lihat, dengan setiap belokan, kura-kura bergerak melalui sudut tertentu, ditentukan oleh kanan(sudut). Ini adalah sudut luar poligon, yang sama dengan 360/n, di mana n adalah jumlah sisi

Dengan perulangan for dan while, kode berikut menghasilkan satu set poligon di layar - dari segitiga ke decagon

Kode untuk animasi di atas adalah sebagai berikut

impor kura-kura     # mengimpor modul
impor waktu    #mengimpor modul waktu trtl = turtle. Turtle()     #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()     #membuat kanvas untuk menggambar
layar. setup(620,470)     #memilih ukuran layar
layar. bgpic('bg. gif')     #membuat kanvas menjadi hitam
trtl. pencolor('red')     #membuat warna pulpen menjadi merah
trtl. pensize(5)     #memilih ukuran ujung pena
trtl. speed(1)     #memilih kecepatan menggambar
trtl. shape('turtle')    #memilih bentuk ujung pena
waktu. tidur(12)
n=3    mulai dari segitiga
bentuk=['Segitiga','Persegi','Pentagon','Segi Enam','Heptagon','Oktagon','Nonagon','Dekagon']
sementara n<11. #    membatasi dekagon
untuk saya dalam rentang (n). # for loop untuk meminimalkan baris kode yang sama yang sedang ditulis
trtl. pencolor('merah')
trtl. maju(100)     #baris atas
trtl. right(360/n)    #menentukan sudut luar poligon
trtl. penup()
trtl. setpos(-80,180)    #menggerakkan kura-kura agar animasi lebih terpusat
trtl. pendown()
trtl. pena warna('biru')
trtl. write(' Ini adalah '+shapes[n-3], font=("Arial", 16, "bold"))    #mencetak nama poligon
n=n+1
waktu. tidur(1)
#membuat kura-kura tidur selama satu detik trtl. jernih()
trtl. penup()
trtl. setpos(-n*8,n*14)
trtl. pendown()

Jika Anda ingin mempraktikkannya secara interaktif, berikut adalah kodenya

Menggambar Huruf E

Harap perhatikan bagaimana gambar dipusatkan di layar, dengan kura-kura. metode setpos()

Menggambar Lingkaran

Berikut adalah kode untuk menambahkan dua angka dan menggambar lingkaran

import turtle    # mengimpor modul
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. setup(420,320)    #memilih ukuran layar
layar. bgpic('bg. gif')    #membuat kanvas menjadi hitam
trtl. pencolor('red')    #membuat warna pulpen menjadi merah
trtl. pensize(4)    #memilih ukuran ujung pena
trtl. speed(1)    #memilih kecepatan menggambar
trtl. shape('turtle')   #memilih bentuk ujung pena
trtl. circle(60)   menggambar lingkaran dengan radius 60 piksel

Animasi berikut menunjukkan bagaimana dua angka diambil sebagai dua input dan kemudian jawaban diberikan

Seperti yang Anda lihat, titik awal lingkaran adalah pusat layar secara default, yang bukan merupakan pusat lingkaran. Untuk mengatasi masalah ini, kita harus mengatur posisi dengan kode sebagai berikut

import turtle    # mengimpor modul
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. setup(420,320)    #memilih ukuran layar
layar. bgpic('bg. gif')    #membuat kanvas menjadi hitam
trtl. pencolor('red')    #membuat warna pulpen menjadi merah
trtl. pensize(4)    #memilih ukuran ujung pena
trtl. shape('turtle')   #memilih bentuk ujung pena
trtl. penup()   #menggerakkan pena ke atas
trtl. setpos(0,-60)   #mengatur posisi baru
trtl. pendown()   #menggerakkan pena ke bawah
trtl. lingkaran(60)   #menggambar lingkaran dengan radius 60 piksel

Iklan. Tidak ada lagi sakit tenggorokan yang menderita ini

Menggambar Lingkaran Konsentris

Berikut adalah kode untuk menggambar lingkaran konsentris dengan bantuan loop

import turtle    # mengimpor modul
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. setup(420,320)    #memilih ukuran layar
layar. bgpic('bg. gif')    #membuat kanvas menjadi hitam
trtl. pencolor('red')    #membuat warna pulpen menjadi merah
trtl. pensize(4)    #memilih ukuran ujung pena
trtl. shape('turtle')   #memilih bentuk ujung pena
n=0
sementara n<7. #loop untuk 7 lingkaran
n=n+1
trtl. penup()
trtl. setpos(0,-n*20)
trtl. pendown()
trtl. lingkaran (20 * n)

Animasi berikut menunjukkan cara kerja animasi

Mengubah Warna

Warna pena dapat diubah dengan berbagai cara;

  1. penyu. pencolor('merah')
  2. penyu. pencolor (merah, hijau, biru)

Jika Anda menggunakan metode kedua, merah, hijau, dan biru dapat berupa bilangan bulat antara 1 - 255. Namun, sebelum itu, kura-kura. colormode(1) atau kura-kura. colormode(255) harus dideklarasikan dalam kode

Ini kodenya

import turtle    # mengimpor modul
impor acak    # mengimpor modul acak untuk menghasilkan angka acak
trtl = kura-kura. Turtle()    #membuat objek kura-kura dari kelas Turtle untuk menggambar
layar=kura-kura. Screen()    #membuat kanvas untuk menggambar
layar. setup(420,320)    #memilih ukuran layar
layar. bgpic('bg. gif')    #membuat kanvas menjadi hitam
trtl. pensize(4)    #memilih ukuran ujung pena
trtl. speed(1)    #memilih kecepatan menggambar
trtl. shape('turtle')   #memilih bentuk ujung pena
n=0
sementara n<7
r=acak. randint(1.120)   #angka acak untuk warna merah
g=acak. randint(81.200)   #angka acak untuk hijau
b=acak. randint(61,255)   #angka acak untuk warna biru
penyu. colormode(255)   #mendeklarasikan mode warna
trtl. pencolor(r,g,b)   #pena warna
n=n+1
trtl. penup()
trtl. setpos(0,-n*20)
trtl. pendown()
trtl. lingkaran (20 * n)

Animasi berikut menunjukkan hasilnya - tentu saja dengan warna acak

Animasi Tingkat Lanjut - kura-kura di habitatnya

Kode berikut membuat kura-kura yang bergerak di pantai - meninggalkan pola reguler tertentu

penyu impor
impor acak
trtl = kura-kura. Penyu()
layar=kura-kura. Layar()
layar. penyiapan(420.320)
layar. bgpic('bg. gif')
trtl. ukuran pena(4)
trtl. kecepatan(1)
trtl. bentuk('kura-kura')
penyu. mode warna(255)
trtl. pena warna(242.242.242)
trtl. penup()
trtl. setpos(-160,-100)
trtl. pendown()
untuk saya dalam rentang (4)
trtl. maju (40)
trtl. kiri(90)
trtl. maju(30)
trtl. benar(90)
trtl. maju (40)

Animasi berikut menampilkan iterasi yang mengarah ke hitungan mundur, berdasarkan input pengguna

Animasi Lanjutan - kura-kura yang menyimpang

Dalam animasi ini, kura-kura meninggalkan jejak kakinya di pantai. ini dicapai oleh penyu. metode stamp() bersama dengan turtle. penup(). Ini kodenya

penyu impor
impor acak
waktu impor
layar=kura-kura. Layar()
trtl=kura-kura. Penyu()
layar. penyiapan(420.320)
layar. bgpic('bg. gif')
trtl. bentuk('kura-kura')
trtl. warna('darkgoldenrod','hitam')
s=10
trtl. penup()
trtl. setpos(30,30)
untuk saya dalam jangkauan(28)
s=s+2
trtl. stempel()
trtl. maju
trtl. benar(25)
waktu. tidur (0. 25)      #diaktifkan dengan jeda 1/4 detik

Animasinya adalah sebagai berikut

Animasi Lanjutan - bintang penuh warna

Dengan bantuan geometri sederhana, sebuah bintang dapat digambar dengan Python Turtle. Ini kodenya

penyu impor
waktu impor
layar=kura-kura. Layar()
trtl=kura-kura. Penyu()
layar. penyiapan(420.320)
layar. bgcolor('hitam')
clr=['merah', 'hijau', 'biru', 'kuning', 'ungu']
trtl. ukuran pena(4)
trtl. penup()
trtl. setpos(-90,30)
trtl. pendown()
untuk saya dalam jangkauan(5)
trtl. pena warna(clr[i])
trtl. maju (200)
trtl. benar(144)
trtl. penup()
trtl. setpos(80,-140)
trtl. pendown()
trtl. pencolor('zaitun')
trtl. write('Solusi Vivax',font=("Arial", 12, "normal"))
trtl. ht()

Ini adalah animasi yang menghasilkan bintang

Animasi Lanjutan - dial jam

Dalam animasi berikut, Python Turtle digunakan untuk membuat dial jam - dengan angka, 1 sampai 12, dikelilingi oleh lingkaran. Ini kodenya

penyu impor
layar=kura-kura. Layar()
trtl=kura-kura. Penyu()
layar. penyiapan(620.620)
layar. bgcolor('hitam')
clr=['merah', 'hijau', 'biru', 'kuning', 'ungu']
trtl. ukuran pena(4)
trtl. bentuk('kura-kura')
trtl. penup()
trtl. pencolor('merah')
m=0
untuk saya dalam jangkauan(12)
m=m+1
trtl. penup()
trtl. setheading(-30*i+60)
trtl. maju(150)
trtl. pendown()
trtl. maju(25)
trtl. penup()
trtl. maju(20)
trtl. write(str(m),align="center",font=("Arial", 12, "normal"))
jika m==12
m=0
trtl. rumah()
trtl. rumah()
trtl. setpos(0,-250)
trtl. pendown()
trtl. ukuran pena(10)
trtl. pena warna('biru')
trtl. lingkaran (250)
trtl. penup()
trtl. setpos(150,-270)
trtl. pendown()
trtl. pencolor('zaitun')
trtl. write('Solusi Vivax',font=("Arial", 12, "normal"))
trtl. ht()

Ini adalah animasi di tempat kerja

Animasi Lanjutan - bunga beraneka warna

Kode berikut menghasilkan bunga dalam berbagai warna. Warna disediakan dengan bantuan daftar. Kodenya adalah sebagai berikut

trtl=kura-kura. Penyu()
layar=kura-kura. Layar()
layar. penyiapan(620.620)
layar. bgcolor('hitam')
trtl. ukuran pena(3)
trtl. kecepatan(10)
n=-1
untuk sudut dalam jangkauan (0,360,15)
n=n+1
jika n==5
n=-1
trtl. warna(warna[n])
trtl. set (sudut)
trtl. lingkaran (100)
trtl. penup()
trtl. setpos(150,-270)
trtl. pendown()
trtl. pencolor('zaitun')
trtl. write('Solusi Vivax',font=("Arial", 12, "normal"))
trtl. ht()

Inilah animasinya

Seperti yang Anda lihat, efeknya dihasilkan oleh kura-kura. fungsi seth () - dalam memutar arah kura-kura

Menggambar Beberapa Kotak

Dalam animasi ini, jumlah kotak yang ditentukan sebelumnya digambar dengan bantuan suatu fungsi. Fungsi ini memiliki dua parameter - panjang persegi dan warna. Kemudian, dengan menggunakan perulangan for, kita dapat menggambar jumlah kotak yang kita perlukan. Anda dapat mengubah panjang dan warna untuk berlatih secara interaktif

Apa yang bisa kamu buat dengan kura-kura Python?

turtle adalah pustaka Python pra-instal yang memungkinkan pengguna untuk membuat gambar dan bentuk dengan menyediakan kanvas virtual. Pena di layar yang Anda gunakan untuk menggambar disebut kura-kura dan inilah yang memberi nama perpustakaan itu.

Apa saja proyek Python yang keren?

Ide Proyek Python. Tingkat Pemula .
Buat pembuat kode. .
Buat kalkulator hitung mundur. .
Tulis metode pengurutan. .
Bangun kuis interaktif. .
Tic-Tac-Toe melalui Teks. .
Membuat konverter suhu/pengukuran. .
Bangun aplikasi penghitung. .
Bangun permainan tebak angka

Apakah turtle lebih mudah daripada PyGame?

Belum tentu . Paket Turtle adalah alat untuk membantu pemula belajar pemrograman sekuensial dengan keluaran grafis sebagai bantuan menggunakan sintaks Python. Di sisi lain, PyGame adalah paket pengembangan game yang memberi Anda semua alat untuk membuat game dengan Python.

Bagaimana cara mengerjakan proyek waktu nyata dengan Python?

10 Proyek Python Real Time Teratas [Pemula hingga Mahir] .
Permainan Hangman
Kalkulator Ilmiah dengan Python
Anagram
Pembuat Kata Sandi
Pencari lokasi
Pelacak Kalori
Speech To Text Converter dengan Python
Membuat Chatbot Melalui Python