Turtle je knihovna Pythonu, která se používala k vytváření grafiky, obrázků a her. Byl vyvinut společností Wally Feurzeig, Seymour Parpet a Cynthina Slolomon v roce 1967. Byla součástí původního programovacího jazyka Logo.
Programovací jazyk Logo byl mezi dětmi oblíbený, protože nám umožňuje jednoduchým způsobem kreslit na obrazovku atraktivní grafy. Je to jako malý objekt na obrazovce, který se může pohybovat podle požadované polohy. Podobně knihovna želv přichází s interaktivní funkcí, která poskytuje flexibilitu při práci s Pythonem.
V tomto tutoriálu se naučíme základní koncepty želvové knihovny, jak nastavit želvu na počítači, programovat s knihovnou želv Python, několik důležitých želvích příkazů a vyvinout krátký, ale atraktivní návrh pomocí knihovny želv Python.
Úvod
Turtle je předinstalovaná knihovna v Pythonu, která je podobná virtuálnímu plátnu, na které můžeme kreslit obrázky a atraktivní tvary. Poskytuje pero na obrazovce, které můžeme použít ke kreslení.
The želva Knihovna je primárně navržena tak, aby dětem představila svět programování. S pomocí Turtle's knihovny mohou noví programátoři získat představu o tom, jak můžeme programovat Krajta zábavnou a interaktivní formou.
Je přínosem pro děti i pro zkušeného programátora, protože umožňuje navrhovat jedinečné tvary, atraktivní obrázky a různé hry. Můžeme také navrhnout mini hry a animace. V nadcházející sekci se naučíme různé funkce knihovny želv.
Začínáme s želvou
Než začneme pracovat s knihovnou želv, musíme zajistit dvě nejdůležitější věci k programování.
Želva je zabudována v knihovně, takže ji nemusíme instalovat samostatně. Potřebujeme pouze importovat knihovnu do našeho prostředí Pythonu.
Knihovna želv Python obsahuje všechny důležité metody a funkce, které budeme potřebovat k vytvoření našich návrhů a obrázků. Importujte knihovnu želv pomocí následujícího příkazu.
import turtle
Nyní máme přístup ke všem metodám a funkcím. Nejprve musíme vytvořit vyhrazené okno, kde provádíme každý příkaz kreslení. Můžeme to udělat tak, že pro něj inicializujeme proměnnou.
s = turtle.getscreen()
Bude to vypadat jako obrázek nahoře a malý trojúhelník uprostřed obrazovky je želva. Pokud se obrazovka ve vašem počítačovém systému nezobrazuje, použijte níže uvedený kód.
Příklad -
import turtle # Creating turtle screen s = turtle.getscreen() # To stop the screen to display turtle.mainloop()
Výstup:
Obrazovka stejná jako plátno a želva funguje jako pero. Želvu můžete posunout a navrhnout požadovaný tvar. Želva má určité proměnlivé vlastnosti, jako je barva, rychlost a velikost. Může se pohybovat určitým směrem a pohybovat se tímto směrem, pokud mu neřekneme jinak.
V další části se naučíme programovat s knihovnou želv Python.
Programování s želvou
Nejprve se musíme naučit pohybovat želvou všemi směry, jak chceme. Můžeme přizpůsobit kotec jako želva a její prostředí. Pojďme se naučit pár příkazů k provedení několika konkrétních úkolů.
Želvu lze pohybovat ve čtyřech směrech.
- Vpřed
- Pozadu
- Vlevo, odjet
- Že jo
Pohyb želvy
Želva se může pohybovat dopředu a dozadu ve směru, kterým je otočena. Podívejme se na následující funkce.
Příklad – 3:
import turtle # Creating turtle screen t = turtle.Turtle() # To stop the screen to display t.forward(100) turtle.mainloop()
Výstup:
Příklad – 2:
import turtle # Creating turtle screen t = turtle.Turtle() # Move turtle in opposite direction t.backward(100) # To stop the screen to display turtle.mainloop()
Výstup:
Příklad – 3:
import turtle # Creating turtle screen t = turtle.Turtle() t.heading() # Move turtle in opposite direction t.right(25) t.heading() # To stop the screen to display turtle.mainloop()
Výstup:
Příklad -
import turtle # Creating turtle screen t = turtle.Turtle() t.heading() # Move turtle in left t.left(100) t.heading() # To stop the screen to display turtle.mainloop()
Výstup:
Obrazovka je zpočátku rozdělena do čtyř kvadrantů. Želva umístěná na začátku programu je (0,0) známá jako Domov.
Příklad -
import turtle # Creating turtle screen t = turtle.Turtle() # Move turtle with coordinates t.goto(100, 80) # To stop the screen to display turtle.mainloop()
Výstup:
Kreslení tvaru
Probrali jsme pohyb želvy. Nyní se učíme přejít k vytváření skutečného tvaru. Nejprve nakreslíme polygon protože všechny sestávají z přímých čar spojených pod určitými úhly. Pojďme pochopit následující příklad.
Příklad -
t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100)
Bude to vypadat jako na následujícím obrázku.
Výstup:
Pomocí želvy můžeme nakreslit jakýkoli tvar, jako je obdélník, trojúhelník, čtverec a mnoho dalších. Při kreslení obdélníku však musíme dbát na souřadnice, protože všechny čtyři strany nejsou stejné. Jakmile nakreslíme obdélník, můžeme dokonce zkusit vytvořit další polygony zvýšením počtu stran.
Kreslení přednastavených obrázků
Předpokládejme, že chcete nakreslit a kruh . Pokud byste se to pokusili nakreslit stejným způsobem, jako jste nakreslili čtverec, bylo by to nesmírně zdlouhavé a museli byste strávit spoustu času jen pro tento jeden tvar. Naštěstí knihovna Python želv poskytuje řešení. K nakreslení kružnice můžete použít jeden příkaz.
Kružnice je nakreslena s daným poloměrem. Rozsah určuje, která část kruhu se vykreslí, a pokud rozsah není uveden nebo žádný, nakreslete celý kruh. Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle screen t = turtle.Turtle() t.circle(50) turtle.mainloop()
Výstup:
Můžeme také nakreslit tečku, která je také známá jako vyplněný kruh. Podle uvedeného způsobu nakreslete vyplněný kruh.
Příklad -
import turtle # Creating turtle screen t = turtle.Turtle() t.dot(50) turtle.mainloop()
Výstup:
Číslo, které jsme předali v tečka() funkcí je průměr tečky. Velikost bodu můžeme zvětšovat a zmenšovat změnou jeho průměru.
Zatím jsme se naučili pohyb želvy a navrhovali různé tvary. V několika následujících částech se naučíme přizpůsobení želvy a jejího prostředí.
Změna barvy obrazovky
Ve výchozím nastavení je obrazovka želvy otevřena s bílým pozadím. Barvu pozadí obrazovky však můžeme upravit pomocí následující funkce.
Příklad -
import turtle # Creating turtle screen t = turtle.Turtle() turtle.bgcolor('red') turtle.mainloop()
Výstup:
Prošli jsme červenou barvou. Můžeme ji také nahradit jakoukoli barvou nebo můžeme použít hexadecimální kód pro použití různých kódů pro naši obrazovku.
Přidání obrázku na pozadí
Stejně jako barvu pozadí obrazovky můžeme přidat obrázek na pozadí pomocí následující funkce.
Příklad -
import turtle # Creating turtle turtle t = turtle.Turtle() turtle.bgpic() turtle.bgpic(r'C:UsersDEVANSH SHARMADownloadsperson.webp') turtle.bgpic() turtle.mainloop()
Změna velikosti obrázku
Velikost obrázku můžeme změnit pomocí velikost obrazovky() funkce. Syntaxe je uvedena níže.
Syntaxe -
turtle.screensize(canvwidth = None, canvheight = None, bg = None)
Parametr - Chce to tři parametry.
Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle turtle t = turtle.Turtle() turtle.screensize() turtle.screensize(1500,1000) turtle.screensize() turtle.mainloop()
Výstup:
Změna titulku obrazovky
Někdy chceme změnit název obrazovky. Ve výchozím nastavení zobrazuje Výuková grafika Pythonu . Můžeme to udělat osobní jako např 'Můj první želví program' nebo 'Kreslení tvaru pomocí Pythonu' . Pomocí následující funkce můžeme změnit název obrazovky.
turtle.Title('Your Title')
Podívejme se na příklad.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() turtle.title('My Turtle Program') turtle.mainloop()
Výstup:
Podle potřeby můžete změnit název obrazovky.
Změna velikosti pera
Velikost želvy můžeme zvětšit nebo zmenšit podle požadavku. Někdy potřebujeme tloušťku v kotci. Můžeme to udělat pomocí následujícího příkladu.
Příklad -
import turtle # Creating turtle turtle t = turtle.Turtle() t.pensize(4) t.forward(200) turtle.mainloop()
Výstup:
Jak můžeme vidět na obrázku výše, pero má čtyřnásobek původní velikosti. Můžeme jím kreslit čáry různých velikostí.
Ovládání barvy pera
Ve výchozím nastavení, když otevřeme novou obrazovku, želva přijde s černou barvou a kreslí černým inkoustem. Můžeme to změnit podle dvou věcí.
- Můžeme změnit barvu želvy, což je barva výplně.
- Můžeme změnit barvu pera, což je v podstatě změna obrysu nebo barvy inkoustu.
Pokud chceme, můžeme také změnit barvu pera i barvu želvy. Doporučujeme zvětšit velikost želvy, aby byly změny barvy jasně viditelné. Pojďme pochopit následující kód.
Příklad -
import turtle # Creating turtle turtle t = turtle.Turtle() # Increase the turtle size t.shapesize(3,3,3) # fill the color t.fillcolor('blue') # Change the pen color t.pencolor('yellow') turtle.mainloop()
Výstup:
Chcete-li změnit barvu obou, zadejte následující funkci.
Příklad – 2:
import turtle # Creating turtle turtle t = turtle.Turtle() t.shapesize(3,3,3) # Chnage the color of both t.color('green', 'red') t.forward(100) turtle.mainloop()
Výstup:
Vysvětlení:
Ve výše uvedeném kódu je první barvou barva pera a druhá barva výplně.
Želva vyplňte obrázek
Barvy dělají obrázek nebo tvary velmi atraktivní. Tvary můžeme vyplnit různými barvami. Pojďme pochopit následující příklad pro přidání barvy do výkresů. Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle turtle t = turtle.Turtle() t.shapesize(3,3,3) t.begin_fill() t.fd(100) t.lt(120) t.fd(100) t.lt(120) t.fd(100) t.end_fill() turtle.mainloop()
Výstup:
Vysvětlení:
Když se program spustí, nakreslí nejprve trojúhelník a poté jej vyplní plnou černou barvou jako výše uvedený výstup. Použili jsme begin_fill() metoda, která naznačuje, že nakreslíme uzavřený tvar, který se má vyplnit. Poté použijeme .end_fill(), což znamená, že jsme s vytvářením tvaru skončili. Nyní jej lze naplnit barvou.
Změna tvaru želvy
Ve výchozím nastavení je tvar želvy trojúhelníkový. Můžeme však změnit tvar želvy a tento modul poskytuje želvě mnoho tvarů. Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle turtle t = turtle.Turtle() t.shape('turtle') # Change to arrow t.shape('arrow') # Chnage to circle t.shape('circle') turtle.mainloop()
Výstup:
Tvar želvy můžeme změnit dle požadavku. Tyto tvary mohou být čtverec, trojúhelník, klasika, želva, šipka a kruh. The klasický je původní tvar želvy.
Změna rychlosti pera
Rychlost želvy lze měnit. Obecně se pohybuje po obrazovce mírnou rychlostí, ale můžeme jeho rychlost zvýšit a snížit. Níže je uveden způsob, jak upravit rychlost želvy.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() t.speed(3) t.forward(100) t.speed(7) t.forward(100) turtle.mainloop()
Výstup:
Rychlost želvy se může měnit celočíselně v rozsahu 0…10. Žádný argument není předán v Rychlost() funkce, vrací aktuální rychlost. Řetězce rychlosti jsou mapovány na hodnoty rychlosti následovně.
0 | Nejrychlejší |
10 | Rychle |
6 | Normální |
3 | Pomalý |
1 | Nejpomalejší |
Poznámka - Pokud je rychlost přiřazena k nule, nebude probíhat žádná animace.
turtle.speed() turtle.speed('normal') turtle.speed() turtle.speed(9) turtle.speed()
Přizpůsobení v jedné řadě
Předpokládejme, že chceme v želvě provést více změn; můžeme to udělat pomocí pouze jednoho řádku. Níže je uvedeno několik charakteristik želvy.
- Barva pera by měla být červená.
- Barva výplně by měla být oranžová.
- Velikost pera by měla být 10.
- Rychlost pera by měla být 7
- Barva pozadí by měla být modrá.
Podívejme se na následující příklad.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() t.pencolor('red') t.fillcolor('orange') t.pensize(10) t.speed(7) t.begin_fill() t.circle(75) turtle.bgcolor('blue') t.end_fill() turtle.mainloop()
Výstup:
Použili jsme pouze jeden řádek a změnili jsme vlastnosti želvy. Chcete-li se dozvědět o tomto příkazu, můžete se naučit z oficiální dokumentace knihovny .
Změňte směr pera
Ve výchozím nastavení ukazuje želva na obrazovce doprava. Někdy požadujeme přesunout želvu na druhou stranu samotné obrazovky. Abychom toho dosáhli, můžeme použít penup() metoda. The pendown() funkce používá k opětovnému zahájení kreslení. Zvažte následující příklad.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() t.fd(100) t.rt(90) t.penup() t.fd(100) t.rt(90) t.pendown() t.fd(100) t.rt(90) t.penup() t.fd(100) t.pendown() turtle.mainloop()
Výstup:
Jak můžeme vidět na výše uvedeném výstupu, získali jsme místo čtverce dvě rovnoběžné čáry.
Vymazání obrazovky
Probrali jsme většinu konstrukčních konceptů želvy. Někdy potřebujeme čistou obrazovku, abychom mohli nakreslit více návrhů. Můžeme to udělat pomocí následující funkce.
t.clear()
Výše uvedená metoda vyčistí obrazovku, abychom mohli kreslit více návrhů. Tato funkce pouze odstraní existující návrhy nebo tvary a neprovede žádné změny v proměnné. Želva zůstane ve stejné poloze.
Resetování prostředí
Pomocí funkce reset můžeme také resetovat aktuální práci. Obnovuje věžička nastavení a vymaže obrazovku. Stačí, když použijeme následující funkci.
t.reset
Všechny úkoly budou odstraněny a želva se vrátí do své domovské pozice. Obnoví se výchozí nastavení želvy, jako je barva, velikost a tvar a další funkce.
Naučili jsme se základní základy programování želv. Nyní probereme několik základních a pokročilých konceptů knihovny želv.
Zanechání razítka
Můžeme nechat na obrazovce razítko želvy. Razítko není nic jiného než otisk želvy. Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() t.stamp() t.fd(200) t.stamp() t.fd(100) turtle.mainloop()
Výstup:
Pokud vytiskneme razítko() metoda, zobrazí číslo, které není nic jiného než umístění želvy nebo ID razítka. Konkrétní razítko můžeme také odstranit pomocí následujícího příkazu.
t.clearstamp(8) # 8 is a stamp location.
Klonování želvy
Někdy hledáme vícenásobnou želvu, abychom navrhli jedinečný tvar. Poskytuje možnost naklonovat aktuální pracovní želvu do prostředí a obě želvy můžeme pohybovat na obrazovce. Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() c = t.clone() t.color('blue') c.color('red') t.circle(20) c.circle(30) for i in range(40, 100, 10): c.circle(i) turtle.mainloop()
Výstup:
Vysvětlení:
Ve výše uvedeném kódu jsme želvu naklonovali do proměnné c a zavolali funkci circle. Nejprve nakreslí modrý kruh a poté nakreslí vnější kruhy na základě podmínek cyklu for.
V další části probereme, jak můžeme použít podmíněné a smyčkové příkazy Pythonu k vytvoření návrhu pomocí želvy.
Programování želvy pomocí smyček a podmíněných příkazů
Dosud jsme se naučili základní a pokročilé koncepty želví knihovny. Dalším krokem je prozkoumat tyto koncepty pomocí Pythonových smyček a podmíněných příkazů. Poskytne nám praktický přístup, pokud jde o pochopení těchto pojmů. Než se přesuneme dále, měli bychom si zapamatovat následující pojmy.
Pojďme pochopit následující příklady.
pro smyčky
V předchozím příkladu jsme do našeho kódu napsali více opakovaných řádků. Zde implementujeme vytvoření čtvercového programu pomocí cyklu for. Například -
Příklad:
t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90)
Můžeme to zkrátit pomocí cyklu for. Spusťte níže uvedený kód.
Příklad
import turtle # Creating turtle t = turtle.Turtle() for i in range(4): t.fd(100) t.rt(90) turtle.mainloop()
Výstup:
Vysvětlení
Ve výše uvedeném kódu cyklus for opakoval kód, dokud nedosáhl na čítač 4. I je jako čítač, který začíná od nuly a neustále se zvyšuje o jedničku. Pojďme pochopit výše uvedené provádění smyčky krok za krokem.
- V první iteraci, i = 0, se želva posune vpřed o 100 jednotek a poté se otočí o 90 stupňů doprava.
- Ve druhé iteraci, i = 1, se želva posune vpřed o 100 jednotek a poté se otočí o 90 stupňů doprava.
- Ve třetí iteraci, i = 2, se želva posune vpřed o 100 jednotek a poté se otočí o 90 stupňů doprava.
- Ve třetí iteraci, i = 3, se želva posune vpřed o 100 jednotek a poté se otočí o 90 stupňů doprava.
Po dokončení iterace želva vyskočí ze smyčky.
zatímco smyčky
Používá se ke spuštění bloku kódu, dokud není splněna podmínka. Kód bude ukončen, když zjistí chybný stav. Pojďme pochopit následující příklad.
Příklad -
import turtle # Creating turtle t = turtle.Turtle() n=10 while n <= 60: t.circle(n) n="n+10" turtle.mainloop() < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-24.webp" alt="Python Turtle Programming"> <p>As we can see in the output, we draw multiple circles using the while loop. Every time the loop executes the new circle will be larger than the previous one. The n is used as a counter where we specified the value of n increase in the each iteration. Let's understand the iteration of the loop.</p> <ul> <li>In the first iteration, the initial value of n is 10; it means the turtle draw the circle with the radius of 10 units.</li> <li>In the second iteration, the value of n is increased by 10 + 10 = 20; the turtle draws the circle with the radius of 20 units.</li> <li>In the second iteration, the value of n is increased by 20 + 10 = 30; the turtle draws the circle with the radius of 30 units.</li> <li>In the second iteration, the value of n is increased by 30 + 10 = 40; the turtle draws the circle with the radius of 30 units.</li> </ul> <h2>Conditional Statement</h2> <p>The conditional statement is used to check whether a given condition is true. If it is true, execute the corresponding lines of code. Let's understand the following example.</p> <p> <strong>Example</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() n = 40 if n<=50: t.circle(n) else: t.forward(n) t.backward(n-10) turtle.mainloop() < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-25.webp" alt="Python Turtle Programming"> <p> <strong>Explanation</strong> </p> <p>In the above program, we define the two outcomes based on user input. If the entered number is less of equal than the 50 means draw the circle otherwise else part. We gave the 40 as input so that if block got executed and drew the circle.</p> <p>Now let's move to see a few cool designs using the turtle library.</p> <h3>Attractive Designs using Python Turtle Library</h3> <p>We have learned basic and advance concepts of Python turtle library. We explain every possible feature of this library. By using its function, we can design games, unique shapes and many more things. Here, we mention a few designs using the turtle library.</p> <h3>Design -1 Circle Spiro graph</h3> <p> <strong>Code</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() turtle.bgcolor('black') turtle.pensize(2) turtle.speed(0) while (True): for i in range(6): for colors in ['red', 'blue', 'magenta', 'green', 'yellow', 'white']: turtle.color(colors) turtle.circle(100) turtle.left(10) turtle.hideturtle() turtle.mainloop() </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-26.webp" alt="Python Turtle Programming"> <p>The turtle will move for the infinite time because we have used the infinite while loop. Copy the above code and see the magic.</p> <h3>Design - 2: Python Vibrate Circle</h3> <p> <strong>Code</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') t.pencolor('red') a = 0 b = 0 t.speed(0) t.penup() t.goto(0,200) t.pendown() while(True): t.forward(a) t.right(b) a+=3 b+=1 if b == 210: break t.hideturtle() turtle.done() </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-27.webp" alt="Python Turtle Programming"> <p> <strong>Code</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') turtle.pensize(2) # To design curve def curve(): for i in range(200): t.right(1) t.forward(1) t. speed(3) t.color('red', 'pink') t.begin_fill() t.left(140) t.forward(111.65) curve() t.left(120) curve() t.forward(111.65) t.end_fill() t.hideturtle() turtle.mainloop() </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-28.webp" alt="Python Turtle Programming"> <p>In the above code, we define the curve function to create curve to screen. When it takes the complete heart shape, the color will fill automatically. Copy the above code and run, you can also modify it by adding more designs.</p> <hr></=50:></pre></=>
Výstup:
Želva se bude pohybovat nekonečně dlouho, protože jsme použili nekonečnou smyčku while. Zkopírujte výše uvedený kód a uvidíte kouzlo.
Design - 2: Python Vibrate Circle
Kód
převod řetězce na int java
import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') t.pencolor('red') a = 0 b = 0 t.speed(0) t.penup() t.goto(0,200) t.pendown() while(True): t.forward(a) t.right(b) a+=3 b+=1 if b == 210: break t.hideturtle() turtle.done()
Výstup:
Kód
import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') turtle.pensize(2) # To design curve def curve(): for i in range(200): t.right(1) t.forward(1) t. speed(3) t.color('red', 'pink') t.begin_fill() t.left(140) t.forward(111.65) curve() t.left(120) curve() t.forward(111.65) t.end_fill() t.hideturtle() turtle.mainloop()
Výstup:
Ve výše uvedeném kódu definujeme funkci křivky pro vytvoření křivky na obrazovku. Když zabere celý tvar srdce, barva se automaticky vyplní. Zkopírujte výše uvedený kód a spusťte jej, můžete jej také upravit přidáním dalších návrhů.
=50:>=>