<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.angis.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Monika</id>
	<title>wiki.angis.net - Naudotojo indėlis [lt]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.angis.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Monika"/>
	<link rel="alternate" type="text/html" href="https://wiki.angis.net/w/Specialus:Ind%C4%97lis/Monika"/>
	<updated>2026-05-03T09:13:07Z</updated>
	<subtitle>Naudotojo indėlis</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Ciklai_For&amp;diff=4200</id>
		<title>Python Vadovėlis/Ciklai For</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Ciklai_For&amp;diff=4200"/>
		<updated>2022-07-28T09:30:56Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėtas sąrašų rūšiavimo poskyris&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Sąrašai |next=Loginiai reiškiniai}}&lt;br /&gt;
&lt;br /&gt;
{{BookCat}}&lt;br /&gt;
&lt;br /&gt;
=== Ciklas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Ir štai naujas spausdinimo būdas:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nuo_vieno_iki_dešimt = range(1, 11)&lt;br /&gt;
for skaičius in nuo_vieno_iki_dešimt:&lt;br /&gt;
    print(skaičius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir kodo išvestis būtų tokia:&lt;br /&gt;
&lt;br /&gt;
 1&lt;br /&gt;
 2&lt;br /&gt;
 3&lt;br /&gt;
 4&lt;br /&gt;
 5&lt;br /&gt;
 6&lt;br /&gt;
 7&lt;br /&gt;
 8&lt;br /&gt;
 9&lt;br /&gt;
 10&lt;br /&gt;
&lt;br /&gt;
Išvestis atrodo labai pažįstama, tačiau programos kodas atrodo kitaip. Pirmoje eilutėje naudojama funkcija &amp;lt;code&amp;gt;range&amp;lt;/code&amp;gt;. Funkcija &amp;lt;code&amp;gt;range&amp;lt;/code&amp;gt; naudoja du argumentus, tokius kaip šie &amp;lt;code&amp;gt;range(pradžia, pabaiga)&amp;lt;/code&amp;gt;, kurie nurodo intervalo galus. &amp;lt;code&amp;gt;pradžia&amp;lt;/code&amp;gt; yra pirmasis intervalo skaičius. &amp;lt;code&amp;gt;pabaiga&amp;lt;/code&amp;gt; yra vienu didesnis nei paskutinis intervalo skaičius. Atkreipk dėmesį, kad šį kodą galima parašyti ir trumpiau:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
for skaičius in range(1, 11):&lt;br /&gt;
    print(skaičius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;range&amp;lt;/code&amp;gt; funkcija grąžina iteraciją (proceso kartojimas skirtas rezultatų sekos generavimui). Tai galima paversti sąrašu naudojant funkciją &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;.&lt;br /&gt;
Štai keli pavyzdžiai, parodantys, kas nutinka su komanda &amp;lt;code&amp;gt;range&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; '''range(1, 10)'''&lt;br /&gt;
 range(1, 10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; '''list(range(1, 10))'''&lt;br /&gt;
 [1, 2, 3, 4, 5, 6, 7, 8, 9]&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; '''list(range(-32, -20))'''&lt;br /&gt;
 [-32, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, -21]&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; '''list(range(5,21))'''&lt;br /&gt;
 [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; '''list(range(5))'''&lt;br /&gt;
 [0, 1, 2, 3, 4]&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; '''list(range(21, 5))'''&lt;br /&gt;
 []&lt;br /&gt;
&lt;br /&gt;
Eilutė &amp;lt;code&amp;gt;for skaičius in nuo_vieno_iki_dešimt:&amp;lt;/code&amp;gt; naudoja &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; valdymo struktūrą. &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; struktūra atrodo taip: &amp;lt;code&amp;gt;for elementas in sąrašas:&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; pereinamas nuo pirmojo sąrašo elemento iki paskutinio. Kai &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; eina per kiekvieną sąrašo elementą, jis kiekvieną reikšmę priskiria &amp;lt;code&amp;gt;elementas&amp;lt;/code&amp;gt; kintamajam. Tai leidžia naudoti &amp;lt;code&amp;gt;elementas&amp;lt;/code&amp;gt; kiekvieną kartą, kai ciklas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; pereinamas iš eilės. Štai dar vienas pavyzdys, kad būtų lengviau suprasti:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9, &amp;quot;oras&amp;quot;]&lt;br /&gt;
for elementas in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;Dabartinis elementas yra:&amp;quot;, elementas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas yra:&lt;br /&gt;
&lt;br /&gt;
 Dabartinis elementas yra: gyvybė&lt;br /&gt;
 Dabartinis elementas yra: 42&lt;br /&gt;
 Dabartinis elementas yra: visata&lt;br /&gt;
 Dabartinis elementas yra: 6&lt;br /&gt;
 Dabartinis elementas yra: ir&lt;br /&gt;
 Dabartinis elementas yra: 9&lt;br /&gt;
 Dabartinis elementas yra: oras&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kaip ciklas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; praeina ir nustato elemento reikšmę kiekvienam sąrašo elementui. Taigi, kam tinkamas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt;? Pirmasis naudojimas yra peržiūrėti visus sąrašo elementus ir ką nors padaryti su kiekvienu iš jų. Štai greitas būdas sudėti visus elementus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
sąrašas = [2, 4, 6, 8]&lt;br /&gt;
suma = 0&lt;br /&gt;
for skaičius in sąrašas:&lt;br /&gt;
    suma = suma + skaičius&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Suma yra:&amp;quot;, suma)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o išvestis yra tiesiog:&lt;br /&gt;
&lt;br /&gt;
Suma yra: 20&lt;br /&gt;
&lt;br /&gt;
Arba gali parašyti programą, kad sužinotum, ar sąraše yra dublikatų. Pavyzdžiui kaip ši programa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
sąrašas = [4, 5, 7, 8, 9, 1, 0, 7, 10]&lt;br /&gt;
sąrašas.sort()&lt;br /&gt;
praeitas = None&lt;br /&gt;
for elementas in sąrašas:&lt;br /&gt;
    if praeitas == elementas:&lt;br /&gt;
        print(&amp;quot;Dublikatas&amp;quot;, praeitas, &amp;quot;rastas.&amp;quot;)&lt;br /&gt;
    praeitas = elementas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir turime rezultatą:&lt;br /&gt;
&lt;br /&gt;
 Dublikatas 7 rastas.&lt;br /&gt;
&lt;br /&gt;
Gerai, tai kaip gi tai veikia? Čia yra speciali derinimo versija, kuri turėtų tau padėti suprasti (tau to nereikia įvesti):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
l = [4, 5, 7, 8, 9, 1, 0, 7, 10]&lt;br /&gt;
print(&amp;quot;l = [4, 5, 7, 8, 9, 1, 0, 7, 10]&amp;quot;, &amp;quot;\t\tl:&amp;quot;, l)&lt;br /&gt;
l.sort()&lt;br /&gt;
print(&amp;quot;l.sort()&amp;quot;, &amp;quot;\t\tl:&amp;quot;, l)&lt;br /&gt;
praeitas = l[0]&lt;br /&gt;
print(&amp;quot;praeitas = l[0]&amp;quot;, &amp;quot;\t\tpraeitas:&amp;quot;, praeitas)&lt;br /&gt;
del l[0]&lt;br /&gt;
print(&amp;quot;del l[0]&amp;quot;, &amp;quot;\t\tl:&amp;quot;, l)&lt;br /&gt;
for elementas in l:&lt;br /&gt;
    if praeitas == elementas:&lt;br /&gt;
        print(&amp;quot;Dublikatas&amp;quot;, praeitas, &amp;quot;rastas.&amp;quot;)&lt;br /&gt;
    print(&amp;quot;if praeitas == elementas:&amp;quot;, &amp;quot;\t\tpraeitas:&amp;quot;, praeitas, &amp;quot;\telementas:&amp;quot;, elementas)&lt;br /&gt;
    praeitas = elementas&lt;br /&gt;
    print(&amp;quot;praeitas = elementas&amp;quot;, &amp;quot;\t\tpraeitas:&amp;quot;, praeitas, &amp;quot;\telementas:&amp;quot;, elementas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir kodo išvestis būtų:&lt;br /&gt;
&lt;br /&gt;
 l = [4, 5, 7, 8, 9, 1, 0, 7, 10]        l: [4, 5, 7, 8, 9, 1, 0, 7, 10]&lt;br /&gt;
 l.sort()                l: [0, 1, 4, 5, 7, 7, 8, 9, 10]&lt;br /&gt;
 praeitas = l[0]             praeitas: 0&lt;br /&gt;
 del l[0]                l: [1, 4, 5, 7, 7, 8, 9, 10]&lt;br /&gt;
 if praeitas == elementas:        praeitas: 0         elementas: 1&lt;br /&gt;
 praeitas = elementas             praeitas: 1         elementas: 1&lt;br /&gt;
 if praeitas == elementas:        praeitas: 1         elementas: 4&lt;br /&gt;
 praeitas = elementas             praeitas: 4         elementas: 4&lt;br /&gt;
 if praeitas == elementas:        praeitas: 4         elementas: 5&lt;br /&gt;
 praeitas = elementas             praeitas: 5         elementas: 5&lt;br /&gt;
 if praeitas == elementas:        praeitas: 5         elementas: 7&lt;br /&gt;
 praeitas = elementas             praeitas: 7         elementas: 7&lt;br /&gt;
 Dublikatas 7 rastas.&lt;br /&gt;
 if praeitas == elementas:        praeitas: 7         elementas: 7&lt;br /&gt;
 praeitas = elementas             praeitas: 7         elementas: 7&lt;br /&gt;
 if praeitas == elementas:        praeitas: 7         elementas: 8&lt;br /&gt;
 praeitas = elementas             praeitas: 8         elementas: 8&lt;br /&gt;
 if praeitas == elementas:        praeitas: 8         elementas: 9&lt;br /&gt;
 praeitas = elementas             praeitas: 9         elementas: 9&lt;br /&gt;
 if praeitas == elementas:        praeitas: 9         elementas: 10&lt;br /&gt;
 praeitas = elementas             praeitas: 10        elementas: 10&lt;br /&gt;
&lt;br /&gt;
Priežastis, kodėl į kodą įdėjau tiek daug &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; komandų, buvo ta, kad galėtum matyti, kas vyksta kiekvienoje eilutėje (beje, jei kažkada negalėsi suprasti, kodėl programa neveikia, pabandyk įdėti spausdintų komandų tose vietose, kur nori sužinoti, kas vyksta). Pirmiausia programa prasideda nuobodžiu senu sąrašu. Toliau programa surūšiuoja sąrašą. Tai darome tam, kad visi dublikatai būtų dedami vienas šalia kito. Tada programa apibrėžia kintamąjį &amp;lt;code&amp;gt;praeitas&amp;lt;/code&amp;gt;. Tada pirmasis sąrašo elementas ištrinamas, kad pirmasis elementas nebūtų klaidingai laikomas dublikatu. Toliau aprašomas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklas. Kiekvienas sąrašo elementas tikrinamas, ar jis sutampa su ankstesniu. Jeigu sutampa – dublikatas rastas. Tada kintamasis &amp;lt;code&amp;gt;praeitas&amp;lt;/code&amp;gt; yra pakeičiamas taip, kad kitame &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; cikle kintamasis &amp;lt;code&amp;gt;praeitas&amp;lt;/code&amp;gt; būtų ankstesnis dabartinis elementas. Be abejo, nustatytome, kad 7 yra dublikatas.  (Atkreipk dėmesį, kaip &amp;lt;code&amp;gt;\t&amp;lt;/code&amp;gt; naudojamas spausdinant tabuliavimo žymę (tab'as).)  &lt;br /&gt;
&lt;br /&gt;
Kitas būdas naudoti &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklą yra norint ką nors padaryti tam tikrą skaičių kartų. Štai trumpas kodas, kaip atspausdinti pirmuosius 9 „Fibonacci“ serijos sakičius:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 1&lt;br /&gt;
b = 1&lt;br /&gt;
for c in range(1, 10):&lt;br /&gt;
    print(a, end=&amp;quot; &amp;quot;)&lt;br /&gt;
    n = a + b&lt;br /&gt;
    a = b&lt;br /&gt;
    b = n&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
su stebėtinu rezultatu:&lt;br /&gt;
&lt;br /&gt;
 1 1 2 3 5 8 13 21 34&lt;br /&gt;
&lt;br /&gt;
Viskas, ką galima padaryti naudojant &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklą, taip pat gali būti padaryta naudojant &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, bet &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklas suteikia lengvą būdą pereiti per visus sąrašo elementus arba ką nors padaryti tam tikrą skaičių kartų.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sąrašų rūšiavimas ===&lt;br /&gt;
&lt;br /&gt;
Ciklas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; taip pat dažnai naudojamas sąrašų rūšiavimo užduotyse. Paprastų sąrašų, kurie yra sudaryti iš skaičių ar eilučių, rūšiavimui gali naudoti funkciją &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;, kuri buvo paminėta prieš tai skaitytame skyriuje. Tačiau gali susidurti su situacijomis, kai ši funkcija yra nepakankama. Egzistuoja daug rūšiavimo algoritmų, tačiau čia išmoksi vieną paprasčiausių iš jų - burbuliuko algoritmą (angl. bubble sort).&lt;br /&gt;
&lt;br /&gt;
Algoritmo idėja yra tokia, kad iš kairės į dešinę lyginame gretimų elementų poras ir sukeičiame elementus vietomis, jei pirmasis yra didesnis už antrąjį. Kiekvienos iteracijos metu, didžiausias nesurūšiuotas elementas juda link sąrašo galo. Toks judėjimas primena burbuliukų vandenyje judėjimą į paviršių, iš ko ir kilo algoritmo pavadinimas. Iteracijos kartojamos tol, kol visi elementai yra savo vietose.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:1 iteracija.png|miniatiūra]]&lt;br /&gt;
Pavyzdžiui, surūšiuokime jau prieš tai naudotą sąrašą [42, 7, 0, 123].&lt;br /&gt;
&lt;br /&gt;
'''Pirma iteracija:'''&lt;br /&gt;
* Lyginami pirmi du elementai. Antrasis yra didesnis už pirmąjį, todėl elementai pakeičiami vietomis.&lt;br /&gt;
* Lyginami antras ir trečias elementai. Trečiasis yra didesnis už antrąjį, todėl elementai pakeičiami vietomis.&lt;br /&gt;
* Lyginami paskutiniai du elementai. Jie yra išdėstyti tinkamai, todėl nėra pakeičiami vietomis.&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:2 iteracija.png|miniatiūra]]&lt;br /&gt;
'''Antra iteracija:'''&lt;br /&gt;
* Lyginami pirmi du elementai. Antrasis yra didesnis už pirmąjį, todėl elementai pakeičiami vietomis.&lt;br /&gt;
* Lyginami antras ir trečias elementai. Jie yra išdėstyti tinkamai, todėl nėra pakeičiami vietomis.&lt;br /&gt;
* Lyginami paskutiniai du elementai. Jie yra išdėstyti tinkamai, todėl nėra pakeičiami vietomis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:3 iteracija.png|miniatiūra]]&lt;br /&gt;
'''Trečia iteracija:'''&lt;br /&gt;
* Elementai išdėstyti tinkamai.&lt;br /&gt;
* Elementai išdėstyti tinkamai.&lt;br /&gt;
* Elementai išdėstyti tinkamai.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
Trečios iteracijos metu algoritmas neatlieka jokių pakeitimų, tad nustatoma, kad sąrašas yra surūšiuotas, algoritmas baigtas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algoritmo kodą galima užrašyti taip:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def burbuliukoRūšiavimas(sąrašas):&lt;br /&gt;
    sąrašoIlgis = len(sąrašas)&lt;br /&gt;
    # Maksimalus iteracijų skaičius - sąrašo ilgis - 1 elementas&lt;br /&gt;
    for i in range(sąrašoIlgis  - 1): &lt;br /&gt;
        arBuvoPakeitimų = 0&lt;br /&gt;
        # Kiekvienoje iteracijoje lyginami visi elementai&lt;br /&gt;
        for j in range(sąrašoIlgis - 1): &lt;br /&gt;
            if sąrašas[j] &amp;gt; sąrašas[j + 1]:&lt;br /&gt;
                # Sukuriame laikiną elementą, kuris saugo pirmąjį lyginamą elementą&lt;br /&gt;
                laikinasElementas = sąrašas[j]&lt;br /&gt;
                # Pirmąjam elementui priskiriame antro elemento reikšmę&lt;br /&gt;
                sąrašas[j] = sąrašas[j + 1]&lt;br /&gt;
                # Antrajam elementui priskiriame laikino elemento reikšmę, kuri yra lygi buvusiam pirmąjam elementui&lt;br /&gt;
                sąrašas[j + 1] = laikinasElementas&lt;br /&gt;
                # Pasižymime, kad iteracijos metu buvo padaryti pakeitimai, taigi reikės papildomų iteracijų&lt;br /&gt;
                arBuvoPakeitimų = 1&lt;br /&gt;
        # Jei visos iteracijos metu nebuvo nei vieno pakeitimo, algoritmas baigiamas&lt;br /&gt;
        if arBuvoPakeitimų == 0:&lt;br /&gt;
            break&lt;br /&gt;
    return sąrašas&lt;br /&gt;
&lt;br /&gt;
rezultatas = burbuliukoRūšiavimas([42, 7, 0, 123])&lt;br /&gt;
&lt;br /&gt;
print (rezultatas)&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programos išvestis: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[0, 7, 42, 123]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Sukurk naują sarašą, kuris turėtų tik skaičiaus 3 daliklius (skaičius turi dalintis iš 3) iš 'x' sąrašo ir tik skaičiaus 5 daliklius iš 'y' sąrašo.&lt;br /&gt;
&lt;br /&gt;
x = [1,2,3,4,5,6,7,8,9,10]&lt;br /&gt;
&lt;br /&gt;
y = [11,12,13,14,15,16,17,18,19,20]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
x = [1,2,3,4,5,6,7,8,9,10]&lt;br /&gt;
y = [11,12,13,14,15,16,17,18,19,20]&lt;br /&gt;
c = []&lt;br /&gt;
for i in x:&lt;br /&gt;
	if i % 3 == 0:&lt;br /&gt;
		c.append(i)&lt;br /&gt;
for i in y:&lt;br /&gt;
	if i % 5 == 0:&lt;br /&gt;
		c.append(i)&lt;br /&gt;
print(c)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri atspausdintų eglutę, pagal vartotojo įvesta eglutės aukštį.&lt;br /&gt;
&lt;br /&gt;
Pvz. Įvestis = 3&lt;br /&gt;
&lt;br /&gt;
Išvestis:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
**&lt;br /&gt;
***&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 # sprendimas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Sąrašai |next=Loginiai reiškiniai}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Vaizdas:3_iteracija.png&amp;diff=4199</id>
		<title>Vaizdas:3 iteracija.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Vaizdas:3_iteracija.png&amp;diff=4199"/>
		<updated>2022-07-28T09:22:56Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Burbuliuko rūšiavimo algoritmo trečia iteracija.&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Vaizdas:2_iteracija.png&amp;diff=4198</id>
		<title>Vaizdas:2 iteracija.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Vaizdas:2_iteracija.png&amp;diff=4198"/>
		<updated>2022-07-28T09:22:12Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Burbuliuko rūšiavimo algoritmo antra iteracija.&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Vaizdas:1_iteracija.png&amp;diff=4197</id>
		<title>Vaizdas:1 iteracija.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Vaizdas:1_iteracija.png&amp;diff=4197"/>
		<updated>2022-07-28T09:20:50Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Burbuliuko rūšiavimo algoritmo pirma iteracija&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/S%C4%85ra%C5%A1ai&amp;diff=4196</id>
		<title>Python Vadovėlis/Sąrašai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/S%C4%85ra%C5%A1ai&amp;diff=4196"/>
		<updated>2022-07-28T09:14:50Z</updated>

		<summary type="html">&lt;p&gt;Monika: Iškeltas rūšiavimo poskyris&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Rekursinės funkcijos |next=Ciklai For}}&lt;br /&gt;
{{BookCat}}&lt;br /&gt;
&lt;br /&gt;
=== Kintamieji, turintys daugiau nei vieną reikšmę ===&lt;br /&gt;
Tu jau žinai įprastus kintamuosius, kuriuose saugoma viena reikšmė. Tačiau kiti kintamųjų tipai gali turėti daugiau nei vieną reikšmę. Jie vadinami konteineriais (containers), nes juose gali būti daugiau nei vienas objektas. Paprasčiausias tipas vadinamas sąrašu (list). Sąrašo pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
kuris = int(input(&amp;quot;Kuris mėnuo (1-12)? &amp;quot;))&lt;br /&gt;
mėnesiai = [&amp;quot;Sausis&amp;quot;, &amp;quot;Vasaris&amp;quot;, &amp;quot;Kovas&amp;quot;, &amp;quot;Balandis&amp;quot;, &amp;quot;Gegužė&amp;quot;, &amp;quot;Birželis&amp;quot;, &amp;quot;Liepa&amp;quot;,&lt;br /&gt;
          &amp;quot;Rugpjūtis&amp;quot;, &amp;quot;Rugsėjis&amp;quot;, &amp;quot;Spalis&amp;quot;, &amp;quot;Lapkritis&amp;quot;, &amp;quot;Gruodis&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
if 1 &amp;lt;= kuris &amp;lt;= 12:&lt;br /&gt;
    print(&amp;quot;Mėnuo yra &amp;quot;, mėnesiai[kuris - 1])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pavyzdžio išvestis būtų:&lt;br /&gt;
&lt;br /&gt;
 Kuris mėnuo (1-12)? '''3'''&lt;br /&gt;
 Mėnuo yra Kovas&lt;br /&gt;
&lt;br /&gt;
Šiame pavyzdyje &amp;lt;code&amp;gt;mėnesiai&amp;lt;/code&amp;gt; yra sąrašas. Kintamasis &amp;lt;code&amp;gt;mėnesiai&amp;lt;/code&amp;gt; yra apibrėžtas šia eilute &amp;lt;code&amp;gt;mėnesiai = [&amp;quot;Sausis&amp;quot;, &amp;quot;Vasaris&amp;quot;, &amp;quot;Kovas&amp;quot;, &amp;quot;Balandis&amp;quot;, &amp;quot;Gegužė&amp;quot;, &amp;quot;Birželis&amp;quot;, &amp;quot;Liepa&amp;quot;,&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;&amp;quot;Rugpjūtis&amp;quot;, &amp;quot;Rugsėjis&amp;quot;, &amp;quot;Spalis&amp;quot;, &amp;quot;Lapkritis&amp;quot;, &amp;quot;Gruodis&amp;quot;]&amp;lt;/code&amp;gt; (atkreipk dėmesį, kad viena komanda parašyta per dvi eilutes; paprastai keliant eilutę yra naudojamas simbolis / tačiau šiuo atveju jis nėra būtinas, nes Python'as supranta, kad viskas, kas yra laužtiniuose skliaustuose yra kartu). &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; pradeda ir užbaigia sąrašą, o kableliai (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;) atskiria sąrašo elementus. Sąrašas naudojamas šioje dalyje: &amp;lt;code&amp;gt;mėnesiai[kuris - 1]&amp;lt;/code&amp;gt;. Sąrašas susideda iš elementų, kurie sunumeruoti pradedant nuo 0. Kitaip tariant, norint sąraše pasiekti elementą &amp;quot;Sausis&amp;quot;, turėtum rašyti &amp;lt;code&amp;gt;mėnesiai[0]&amp;lt;/code&amp;gt;. Nurodant sąrašui skaičių, tu gauni reikšmę išsaugotą toje sąrašo pozicijoje.&lt;br /&gt;
&lt;br /&gt;
Sąlyginis sakinys &amp;lt;code&amp;gt; if 1 &amp;lt;= kuris &amp;lt;= 12:&amp;lt;/code&amp;gt; tikrina, ar skaičius kintamajame &amp;lt;code&amp;gt;kuris&amp;lt;/code&amp;gt; yra tarp vieno ir dvylikos imtinai (tiek yra mėnesių ir taip jie numeruojami).&lt;br /&gt;
&lt;br /&gt;
Viename sąraše gali būti saugomi ir skirtingų tipų duomenys. Kiekvienas elementas saugo vis kitą reikšmę. Pavyzdžiui, sąrašas sukurtas šiuo kodu: &amp;lt;code&amp;gt;demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9]&amp;lt;/code&amp;gt; atrodytų taip:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!elemento numeris&lt;br /&gt;
!0 &lt;br /&gt;
!1  &lt;br /&gt;
!2 &lt;br /&gt;
!3 &lt;br /&gt;
!4 &lt;br /&gt;
!5 &lt;br /&gt;
|-&lt;br /&gt;
|demoSąrašas &lt;br /&gt;
|&amp;quot;gyvybė&amp;quot; &lt;br /&gt;
|42 &lt;br /&gt;
|&amp;quot;visata&amp;quot; &lt;br /&gt;
|6 &lt;br /&gt;
|&amp;quot;ir&amp;quot;&lt;br /&gt;
|9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kiekvienas elementas pasiekiamas per jo eilės numerį – indeksą, todėl komanda &amp;lt;code&amp;gt;demoSąrašas[0]&amp;lt;/code&amp;gt; pateiktų reikšmę: &amp;lt;code&amp;gt;&amp;quot;gyvybė&amp;quot;&amp;lt;/code&amp;gt;, o komanda &amp;lt;code&amp;gt;demoSąrašas[1]&amp;lt;/code&amp;gt; – reikšmę &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt; ir taip toliau iki kol &amp;lt;code&amp;gt;demoSąrašas[5]&amp;lt;/code&amp;gt; pateikia reikšmę &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Daugiau sąrašų funkcijų ===&lt;br /&gt;
Kitas pavyzdys yra skirtas parodyti daugybę kitų dalykų, kuriuos gali padaryti sąrašai (šį kartą nesitikiu, kad viską pats sugebėsi parašyti, bet tikriausiai turėtum šiek tiek pažaisti su sąrašais interaktyviame režime, kol apsiprasi su jais). Pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9]&lt;br /&gt;
print(&amp;quot;demoSąrašas = &amp;quot;, demoSąrašas)&lt;br /&gt;
demoSąrašas.append(&amp;quot;oras&amp;quot;)&lt;br /&gt;
print(&amp;quot;po 'oras' pridėjimo, demoSąrašas atrodo taip:&amp;quot;)&lt;br /&gt;
print(demoSąrašas)&lt;br /&gt;
print(&amp;quot;len(demoSąrašas) =&amp;quot;, len(demoSąrašas))&lt;br /&gt;
print(&amp;quot;demoSąrašas.index(42) =&amp;quot;, demoSąrašas.index(42))&lt;br /&gt;
print(&amp;quot;demoSąrašas[1] =&amp;quot;, demoSąrašas[1])&lt;br /&gt;
&lt;br /&gt;
# o dabar mes pereisime per visą sąrašą &amp;quot;for&amp;quot; ciklu&lt;br /&gt;
for c in range(len(demoSąrašas)):&lt;br /&gt;
    print(&amp;quot;demoSąrašas[&amp;quot;, c, &amp;quot;] =&amp;quot;, demoSąrašas[c])&lt;br /&gt;
&lt;br /&gt;
del demoSąrašas[2]&lt;br /&gt;
print(&amp;quot;Po 'visata' pašalinimo, demoSąrašas atrodo taip:&amp;quot;)&lt;br /&gt;
print(demoSąrašas)&lt;br /&gt;
if &amp;quot;gyvybė&amp;quot; in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;'gyvybė' buvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;'gyvybė' nebuvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if &amp;quot;ameba&amp;quot; in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;'ameba' buvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if &amp;quot;ameba&amp;quot; not in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;'ameba' nebuvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
kitasSąrašas = [42, 7, 0, 123]&lt;br /&gt;
kitasSąrašas.sort()&lt;br /&gt;
print(&amp;quot;Išrikiuotas kitasSąrašas atrodo taip&amp;quot;, kitasSąrašas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodo išvestis būtų tokia:&lt;br /&gt;
&lt;br /&gt;
 demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9]&lt;br /&gt;
 po &amp;quot;oras&amp;quot; pridėjimo, demoSąrašas atrodo taip:&lt;br /&gt;
 [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9, &amp;quot;oras&amp;quot;]&lt;br /&gt;
 len(demoSąrašas) = 7&lt;br /&gt;
 demoSąrašas.index(42) = 1&lt;br /&gt;
 demoSąrašas[1] = 42&lt;br /&gt;
 demoSąrašas[ 0 ] = gyvybė&lt;br /&gt;
 demoSąrašas[ 1 ] = 42&lt;br /&gt;
 demoSąrašas[ 2 ] = visata&lt;br /&gt;
 demoSąrašas[ 3 ] = 6&lt;br /&gt;
 demoSąrašas[ 4 ] = ir&lt;br /&gt;
 demoSąrašas[ 5 ] = 9&lt;br /&gt;
 demoSąrašas[ 6 ] = oras&lt;br /&gt;
 Po 'visata' pašalinimo, demoSąrašas atrodo taip:&lt;br /&gt;
 [&amp;quot;gyvybė&amp;quot;, 42, 6, &amp;quot;ir&amp;quot;, 9, &amp;quot;oras&amp;quot;]&lt;br /&gt;
 &amp;quot;gyvybė&amp;quot; buvo rasta kintamajame demoSąrašas&lt;br /&gt;
 &amp;quot;ameba&amp;quot; nebuvo rasta kintamajame demoSąrašas&lt;br /&gt;
 Išrikiuotas kitasSąrašas atrodo taip [0, 7, 42, 123]&lt;br /&gt;
&lt;br /&gt;
Šiame pavyzdyje rasi daug naujų funkcijų. Atkreipk dėmesį, kad gali tiesiog atspausdinti (&amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt;) visą sąrašą. Toliau funkcija &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt; naudojama tam, kad pridėtum naują elementą į sąrašo pabaigą. &amp;lt;code&amp;gt;len&amp;lt;/code&amp;gt; grąžina kiek elementų yra sąraše. Tinkami sąrašo indeksai (skaičiai kuriuos naudojame viduje laužtinių skliaustų &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt;) yra nuo 0 iki &amp;lt;code&amp;gt;len - 1&amp;lt;/code&amp;gt;. Funkcija &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; nurodo, kur sąraše yra pirmoji elemento vieta. Atkreipk dėmesį, kaip &amp;lt;code&amp;gt;demoSąrašas.index(42)&amp;lt;/code&amp;gt; pateikia 1, o paleidus &amp;lt;code&amp;gt;demoSąrašas[1]&amp;lt;/code&amp;gt; grąžina 42. Norint gauti pagalbos dėl visų sąrašo funkcijų, įvykdyk komandą &amp;lt;code&amp;gt; help(list)&amp;lt;/code&amp;gt; interaktyviajame Python'o interpretatoriuje.&lt;br /&gt;
&lt;br /&gt;
Eilutė &amp;lt;code&amp;gt;# o dabar mes pereisime per visą sąrašą &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklu&amp;lt;/code&amp;gt; yra tik priminimas programuotojui (dar vadinamas kaip „komentaras“). Python'as ignoruoja viską, kas parašyta esamoje eilutėje po simbolio &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;. Toliau eilutės:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
for c in range(len(demoSąrašas)):&lt;br /&gt;
    print(&amp;quot;demoSąrašas[&amp;quot;, c, &amp;quot;] =&amp;quot;, demoSąrašas[c])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sukuria kintamajį &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;, kuris prasideda nuo 0 ir didinamas vienetu, kol pasiekia paskutinį sąrašo indeksą. Tuo tarpu &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; komanda išspausdina kiekvieną sąrašo elementą.&lt;br /&gt;
&lt;br /&gt;
Daug geresnis būdas tai padaryti:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
for c, x in enumerate(demoSąrašas):&lt;br /&gt;
    print(&amp;quot;demoSąrašas[&amp;quot;, c, &amp;quot;] =&amp;quot;, x)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Komanda &amp;lt;code&amp;gt;del&amp;lt;/code&amp;gt; gali būti naudojama tam tikram sąrašo elementui pašalinti. Kitos kelios eilutės naudoja &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; operatorių, kad patikrintų, ar elementas yra sąraše, ar ne. Funkcija &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; rūšiuoja sąrašą. Tai naudinga, jei tau reikia sąrašo nuo mažiausio iki didžiausio arba abėcėlės tvarka. Atmink, kad tai pakeičia sąrašą. Apibendrinant, su sąrašu yra atliekami šie veiksmai:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!pavyzdys &lt;br /&gt;
!paaiškinimas&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas[2]&amp;lt;/code&amp;gt; &lt;br /&gt;
|grąžina 2 sąrašo demoSąrašas elementą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas[2] = 3&amp;lt;/code&amp;gt; &lt;br /&gt;
|į sąrašo demoSąrašas 2 poziciją (numeruojama nuo 0) įrašo reikšmę 3&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;del demoSąrašas[2]&amp;lt;/code&amp;gt; &lt;br /&gt;
|pašalina sąrašo demoSąrašas elementą, esantį 2 pozicijoje&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;len(demoSąrašas)&amp;lt;/code&amp;gt; &lt;br /&gt;
|grąžina &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt; sąrašo ilgį, t.y. elementų skaičių&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot; in demoSąrašas&amp;lt;/code&amp;gt; &lt;br /&gt;
|yra ''True'' jeigu &amp;lt;tt&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/tt&amp;gt; yra elementas, priklausantis &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot; not in demoSąrašas&amp;lt;/code&amp;gt; &lt;br /&gt;
|yra ''True'' jeigu &amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/code&amp;gt; nėra elementas, priklausantis &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kitasSąrašas.sort()&amp;lt;/code&amp;gt; &lt;br /&gt;
|surūšiuoja &amp;lt;code&amp;gt;kitasSąrašas&amp;lt;/code&amp;gt;. Atmink, kad rūšiavimas pavyktų, visi sąrašo elementai turi būti arba skaičiai, arba eilutės (string).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas.index(&amp;quot;reikšmė&amp;quot;)&amp;lt;/code&amp;gt; &lt;br /&gt;
|grąžina pirmosios vietos, kurioje atsiranda &amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/code&amp;gt;, indeksą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas.append(&amp;quot;reikšmė&amp;quot;)&amp;lt;/code&amp;gt; &lt;br /&gt;
|sąrašo pabaigoje prideda elementą &amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas.remove(&amp;quot;reikšmė&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|pašalina pirmą rastą elementą su nurodyta reikšme iš &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt; (taip pat, kaip &amp;lt;code&amp;gt;del demoSąrašas[demoSąrašas.index(&amp;quot;reikšmė&amp;quot;)]&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiai, kur praktiškai naudojamos šios funkcijos:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
meniuElementas = 0&lt;br /&gt;
vardųSarašas = []&lt;br /&gt;
while meniuElementas != 9:&lt;br /&gt;
    print(&amp;quot;--------------------&amp;quot;)&lt;br /&gt;
    print(&amp;quot;1. Spausdinti sąrašą&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2. Pridėti vardą prie sąrašo&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3. Pašalinti vardą iš sąrašo&amp;quot;)&lt;br /&gt;
    print(&amp;quot;4. Pakeisti elementą sąraše&amp;quot;)&lt;br /&gt;
    print(&amp;quot;9. Išeiti&amp;quot;)&lt;br /&gt;
    meniuElementas = int(input(&amp;quot;Pasirinkite elementą iš meniu: &amp;quot;))&lt;br /&gt;
    if meniuElementas == 1:&lt;br /&gt;
        dabartinis = 0&lt;br /&gt;
        if len(vardųSarašas) &amp;gt; 0:&lt;br /&gt;
            while dabartinis &amp;lt; len(vardųSarašas):&lt;br /&gt;
                print(dabartinis, &amp;quot;.&amp;quot;, vardųSarašas[dabartinis])&lt;br /&gt;
                dabartinis = dabartinis + 1&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Sąrašas tuščias&amp;quot;)&lt;br /&gt;
    elif meniuElementas == 2:&lt;br /&gt;
        vardas = input(&amp;quot;Įveskite vardą, kurį norite pridėti: &amp;quot;)&lt;br /&gt;
        vardųSarašas.append(vardas)&lt;br /&gt;
    elif meniuElementas == 3:&lt;br /&gt;
        šalinamasVardas = input(&amp;quot;Kokį vardą norėtumėte pašalinti:&amp;quot;)&lt;br /&gt;
        if šalinamasVardas in vardųSarašas:&lt;br /&gt;
            # vardųSarašas.remove(šalinamasVardas) veiktų taip pat gerai&lt;br /&gt;
            elementoIndeksas = vardųSarašas.index(šalinamasVardas)&lt;br /&gt;
            del vardųSarašas[elementoIndeksas]&lt;br /&gt;
            # Aukščiau pateiktas kodas pašalina tik pirmąjį surasta vardą.&lt;br /&gt;
            # Žemiau esantis kodas pašalina visus.&lt;br /&gt;
            # while šalinamasVardas in vardųSarašas:&lt;br /&gt;
            #       elementoIndeksas = vardųSarašas.index(šalinamasVardas)&lt;br /&gt;
            #       del vardųSarašas[elementoIndeksas]&lt;br /&gt;
        else:&lt;br /&gt;
            print(šalinamasVardas, &amp;quot;nerastas&amp;quot;)&lt;br /&gt;
    elif meniuElementas == 4:&lt;br /&gt;
        senasVardas = input(&amp;quot;Kokį vardą norėtumėte pakeisti:&amp;quot;)&lt;br /&gt;
        if senasVardas in vardųSarašas:&lt;br /&gt;
            elementoIndeksas = vardųSarašas.index(senasVardas)&lt;br /&gt;
            naujasVardas = input(&amp;quot;Koks yra naujas vardas: &amp;quot;)&lt;br /&gt;
            vardųSarašas[elementoIndeksas] = naujasVardas&lt;br /&gt;
        else:&lt;br /&gt;
            print(senasVardas, &amp;quot;nerastas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Iki pasimatymo&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir čia yra išvesties dalis:&lt;br /&gt;
&lt;br /&gt;
 --------------------&lt;br /&gt;
 1. Spausdinti sąrašą&lt;br /&gt;
 2. Pridėti vardą prie sąrašo&lt;br /&gt;
 3. Pašalinti vardą iš sąrašo&lt;br /&gt;
 4. Pakeisti elementą sąraše&lt;br /&gt;
 9. Išeiti&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''2'''&lt;br /&gt;
 Įveskite vardą, kurį norite pridėti: '''Benas'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''2'''&lt;br /&gt;
 Įveskite vardą, kurį norite pridėti: '''Liepa'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''1'''&lt;br /&gt;
 0. Benas&lt;br /&gt;
 1. Liepa&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''3'''&lt;br /&gt;
 Kokį vardą norėtumėte pašalinti: '''Benas'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''4'''&lt;br /&gt;
 Kokį vardą norėtumėte pakeisti: '''Liepa'''&lt;br /&gt;
 Koks yra naujas vardas: '''Liepa Petraitė'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''1'''&lt;br /&gt;
 0. Liepa Petraitė&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''9'''&lt;br /&gt;
 Iki pasimatymo&lt;br /&gt;
&lt;br /&gt;
Tai buvo ilga programa. Panagrinėkime pirminį programos tekstą. Eilutė &amp;lt;code&amp;gt;vardųSarašas = []&amp;lt;/code&amp;gt; sukuria kintamajį &amp;lt;code&amp;gt;vardųSarašas&amp;lt;/code&amp;gt;, tuščia sąrašą, be elementų. Kita svarbi eilutė yra &amp;lt;code&amp;gt;while meniuElementas != 9:&amp;lt;/code&amp;gt;. Ši eilutė pradeda ciklą, leidžiantį šios programos meniu sistemai veikti. Kitos eilutės parodo meniu ir nusprendžia, kurią programos dalį paleisti.&lt;br /&gt;
&lt;br /&gt;
Ši dalis:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dabartinis = 0&lt;br /&gt;
    if len(vardųSarašas) &amp;gt; 0:&lt;br /&gt;
        while dabartinis &amp;lt; len(vardųSarašas):&lt;br /&gt;
            print(dabartinis, &amp;quot;.&amp;quot;, vardųSarašas[dabartinis])&lt;br /&gt;
            dabartinis = dabartinis + 1&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Sąrašas tuščias&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
eina per sąrašą ir spausdina kiekvieną vardą. &amp;lt;code&amp;gt;len(vardųSarašas)&amp;lt;/code&amp;gt; nurodo, kiek elementų yra sąraše. Jei &amp;lt;code&amp;gt;len&amp;lt;/code&amp;gt; grąžina &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, tai reiškia sąrašas tuščias.&lt;br /&gt;
&lt;br /&gt;
Toliau po kelių eilučių matysi sakinį &amp;lt;code&amp;gt;vardųSarašas.append(vardas)&amp;lt;/code&amp;gt;. Jis naudoja funkciją &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt;, kad pridėtų elementą į sąrašo pabaigą. Peršokus dar dvi eilutes, pastebėsi šią kodo dalį:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
elementoIndeksas = vardųSarašas.index(šalinamasVardas)&lt;br /&gt;
del vardųSarašas[elementoIndeksas]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Čia funkcija &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; yra naudojama norint rasti indekso reikšmę, kuri vėliau bus naudojama elementui pašalinti. &amp;lt;code&amp;gt;del vardųSarašas[elementoIndeksas]&amp;lt;/code&amp;gt; naudojamas sąrašo elementui pašalinti.   &lt;br /&gt;
&lt;br /&gt;
Kitoje kodo dalyje&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
senasVardas = input(&amp;quot;Kokį vardą norėtumėte pakeisti:&amp;quot;)&lt;br /&gt;
if senasVardas in vardųSarašas:&lt;br /&gt;
    elementoIndeksas = vardųSarašas.index(senasVardas)&lt;br /&gt;
    naujasVardas = input(&amp;quot;Koks yra naujas vardas: &amp;quot;)&lt;br /&gt;
    vardųSarašas[elementoIndeksas] = naujasVardas&lt;br /&gt;
else:&lt;br /&gt;
    print(senasVardas, &amp;quot;nerastas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
naudojamas &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;, kad surastų &amp;lt;code&amp;gt;elementoIndeksas&amp;lt;/code&amp;gt; ir tada įdėtų &amp;lt;code&amp;gt;naujasVardas&amp;lt;/code&amp;gt; ten, kur buvo &amp;lt;code&amp;gt;senasVardas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sveikinu, perpratus sąrašus, dabar tu pakankamai žinai kalbą, kad galėtum atlikti bet kokius skaičiavimus, kuriuos gali atlikti kompiuteris (tai techniškai žinoma kaip [[Wikipedia:Turing_completeness|Turing-Completeness]]). Žinoma, vis dar yra daug funkcijų, kurias naudojant tu pasilengvinsi sau gyvenimą.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
'''testas.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
## Ši programa atlieka žinių patikrinimą&lt;br /&gt;
&lt;br /&gt;
# Pirmiausia surenkame testo klausimus.&lt;br /&gt;
# Vėliau šią dalį pakeisime, kad būtų naudojama failinė sistema.&lt;br /&gt;
def gauti_klausimus():&lt;br /&gt;
    # atkreipk dėmesį, kad duomenys saugomi kaip sąrašų sąrašas&lt;br /&gt;
    return [[&amp;quot;Kokios spalvos yra dangus giedrą dieną? &amp;quot;, &amp;quot;mėlynas&amp;quot;],&lt;br /&gt;
            [&amp;quot;Koks atsakymas į gyvenimą, visatą ir viską? &amp;quot;, &amp;quot;42&amp;quot;],&lt;br /&gt;
            [&amp;quot;Kas yra keturių raidžių žodis pelės gaudyklei? &amp;quot;, &amp;quot;katė&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
# Ši dalis patikrins vieną klausimą&lt;br /&gt;
# pateikiamas vienas klausimas&lt;br /&gt;
# grąžinama teisinga (True), jei vartotojas įvedė teisingą atsakymą, kitu atveju - klaidinga (False)&lt;br /&gt;
&lt;br /&gt;
def pateik_klausimą(klausimas_ir_atsakymas):&lt;br /&gt;
    # ištraukiame klausimą ir atsakymą iš sąrašo&lt;br /&gt;
    # Ši funkcija priima dviejų elementų sąrašą, klausimą ir atsakymą.  &lt;br /&gt;
    klausimas = klausimas_ir_atsakymas[0]   &lt;br /&gt;
    atsakymas = klausimas_ir_atsakymas[1]&lt;br /&gt;
    # užduodame klausimą vartotojui&lt;br /&gt;
    duotas_atsakymas = input(klausimas)&lt;br /&gt;
    # palyginame vartotojo atsakymą su teisingu atsakymu&lt;br /&gt;
    if atsakymas == duotas_atsakymas:&lt;br /&gt;
        print(&amp;quot;Teisingai&amp;quot;)&lt;br /&gt;
        return True&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neteisingai. Teisingas atsakymas: &amp;quot;, atsakymas)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
# Šis kodas apims visus klausimus&lt;br /&gt;
def atlikti_testus(klausimai):&lt;br /&gt;
    if len(klausimai) == 0:&lt;br /&gt;
        print(&amp;quot;Nepateiktas nei vienas klausimas.&amp;quot;)&lt;br /&gt;
        # `return` išeis iš funkcijos&lt;br /&gt;
        return&lt;br /&gt;
    indeksas = 0&lt;br /&gt;
    teisingai = 0&lt;br /&gt;
    while indeksas &amp;lt; len(klausimai):&lt;br /&gt;
        # patikriname klausimą&lt;br /&gt;
        # Atkreipk dėmesį, kad tai yra klausimų ir atsakymų sąrašo ištraukimas iš sąrašų sąrašo.&lt;br /&gt;
        if pateik_klausimą(klausimai[indeksas]): &lt;br /&gt;
            teisingai = teisingai + 1&lt;br /&gt;
        # pareiname prie kito klausimo&lt;br /&gt;
        indeksas = indeksas + 1&lt;br /&gt;
    # atkreipk dėmesį į skaičiavimo tvarką: pirmiausia padaugini, tada padalini&lt;br /&gt;
    print(&amp;quot;Atsakei teisingai į &amp;quot;, teisingai * 100 / len(klausimai),\&lt;br /&gt;
           &amp;quot;% klausimų iš &amp;quot;, len(klausimai))&lt;br /&gt;
&lt;br /&gt;
# dabar paimkime klausimus iš funkcijos gauti_klausimus ir&lt;br /&gt;
# paduokime grąžintą sąrašų sąrašą kaip argumentą funkcijai atlikti_testus.&lt;br /&gt;
&lt;br /&gt;
atlikti_testus(gauti_klausimus())&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reikšmės &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; turi reikšmes atitinkamai 1 ir 0. Jie dažnai naudojami loginės sekos patikrinimui, ciklo sąlygoms ir pan. Daugiau apie tai sužinosi šiek tiek vėliau (skyrius [[Vadovėlis/Loginiai reiškiniai|Loginiai reiškiniai]]).&lt;br /&gt;
Atkreipk dėmesį, kad gauti_klausimus() iš esmės yra sąrašas, nors tai techniškai yra funkcija - sąrašų grąžinimas yra vienintelis dalykas, kurį jis daro. &lt;br /&gt;
&lt;br /&gt;
Pavyzdžio išvestis:&lt;br /&gt;
&lt;br /&gt;
 Kokios spalvos yra dangus giedrą dieną? '''žalias'''&lt;br /&gt;
 Neteisingai. Teisingas atsakymas: mėlynas&lt;br /&gt;
 Koks atsakymas į gyvenimą, visatą ir viską? '''42'''&lt;br /&gt;
 Teisingai&lt;br /&gt;
 Kas yra keturių raidžių žodis pelės gaudyklei? '''katė'''&lt;br /&gt;
 Teisingai&lt;br /&gt;
 Atsakei teisingai į 66% klausimų iš 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
&lt;br /&gt;
Išplėsk testas.py programą, kad ji turėtų meniu, kuriame būtų galima atlikti testą,&lt;br /&gt;
peržiūrėti klausimų ir atsakymų sąrašą ir pasirinkti išeiti iš programos. Taip pat, pridėk naują klausimą:&lt;br /&gt;
„Kokį triukšmą kelia tikrai pažangi mašina?“ su teisingu atsakymu „ping“.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
## Ši programa atlieka žinių patikrinimą&lt;br /&gt;
&lt;br /&gt;
klausimai = [[&amp;quot;Kokios spalvos yra dangus giedrą dieną? &amp;quot;, &amp;quot;mėlynas&amp;quot;],&lt;br /&gt;
             [&amp;quot;Koks atsakymas į gyvenimą, visatą ir viską? &amp;quot;, &amp;quot;42&amp;quot;],&lt;br /&gt;
             [&amp;quot;Kas yra keturių raidžių žodis pelės gaudyklei? &amp;quot;, &amp;quot;katė&amp;quot;],&lt;br /&gt;
             [&amp;quot;Kokį triukšmą kelia tikrai pažangi mašina?&amp;quot;, &amp;quot;ping&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
# Ši dalis patikrins vieną klausimą&lt;br /&gt;
# pateikiamas vienas klausimas&lt;br /&gt;
# grąžinama teisinga (True), jei vartotojas įvedė teisingą atsakymą, kitu atveju - klaidinga (False)&lt;br /&gt;
&lt;br /&gt;
def pateik_klausimą(klausimas_ir_atsakymas):&lt;br /&gt;
    # ištraukiame klausimą ir atsakymą iš sąrašo&lt;br /&gt;
    # Ši funkcija priima dviejų elementų sąrašą, klausimą ir atsakymą.  &lt;br /&gt;
    klausimas = klausimas_ir_atsakymas[0]   &lt;br /&gt;
    atsakymas = klausimas_ir_atsakymas[1]&lt;br /&gt;
    # užduodame klausimą vartotojui&lt;br /&gt;
    duotas_atsakymas = input(klausimas)&lt;br /&gt;
    # palyginame vartotojo atsakymą su teisingu atsakymu&lt;br /&gt;
    if atsakymas == duotas_atsakymas:&lt;br /&gt;
        print(&amp;quot;Teisingai&amp;quot;)&lt;br /&gt;
        return True&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neteisingai. Teisingas atsakymas: &amp;quot;, atsakymas)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
# Šis kodas apims visus klausimus&lt;br /&gt;
def atlikti_testus(klausimai):&lt;br /&gt;
    if len(klausimai) == 0:&lt;br /&gt;
        print(&amp;quot;Nepateiktas nei vienas klausimas.&amp;quot;)&lt;br /&gt;
        # `return` išeis iš funkcijos&lt;br /&gt;
        return&lt;br /&gt;
    indeksas = 0&lt;br /&gt;
    teisingai = 0&lt;br /&gt;
    while indeksas &amp;lt; len(klausimai):&lt;br /&gt;
        # patikriname klausimą&lt;br /&gt;
        # Atkreipk dėmesį, kad tai yra klausimų ir atsakymų sąrašo ištraukimas iš sąrašų sąrašo.&lt;br /&gt;
        if pateik_klausimą(klausimai[indeksas]): &lt;br /&gt;
            teisingai = teisingai + 1&lt;br /&gt;
        # pareiname prie kito klausimo&lt;br /&gt;
        indeksas = indeksas + 1&lt;br /&gt;
    # atkreipk dėmesį į skaičiavimo tvarką: pirmiausia padaugini, tada padalini&lt;br /&gt;
    print(&amp;quot;Atsakei teisingai į &amp;quot;, teisingai * 100 / len(klausimai),\&lt;br /&gt;
           &amp;quot;% klausimų iš &amp;quot;, len(klausimai))&lt;br /&gt;
&lt;br /&gt;
#rodomas klausimų ir atsakymų sąrašas&lt;br /&gt;
def rodyk_klausimus():&lt;br /&gt;
    k = 0&lt;br /&gt;
    while k &amp;lt; len(klausimai):&lt;br /&gt;
        a = 0&lt;br /&gt;
        print(&amp;quot;K:&amp;quot; , klausimai[k][a])&lt;br /&gt;
        a = 1&lt;br /&gt;
        print(&amp;quot;A:&amp;quot; , klausimai[k][a])&lt;br /&gt;
        k = k + 1&lt;br /&gt;
&lt;br /&gt;
# dabar apibrėžiu meniu funkciją&lt;br /&gt;
def meniu():&lt;br /&gt;
    print(&amp;quot;-----------------&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Meniu:&amp;quot;)&lt;br /&gt;
    print(&amp;quot;1 - Atlikti testą&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2 - Peržiūrėti klausimų ir atsakymų sąrašą&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3 - Peržiūrėti meniu&amp;quot;)&lt;br /&gt;
    print(&amp;quot;5 - Išeiti&amp;quot;)&lt;br /&gt;
    print(&amp;quot;-----------------&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pasirinkimas = &amp;quot;3&amp;quot;&lt;br /&gt;
while pasirinkimas != &amp;quot;5&amp;quot;:&lt;br /&gt;
    if pasirinkimas == &amp;quot;1&amp;quot;:&lt;br /&gt;
        atlikti_testus(klausimai)&lt;br /&gt;
    elif pasirinkimas == &amp;quot;2&amp;quot;:&lt;br /&gt;
        rodyk_klausimus()&lt;br /&gt;
    elif pasirinkimas == &amp;quot;3&amp;quot;:&lt;br /&gt;
        meniu()&lt;br /&gt;
    print()&lt;br /&gt;
    pasirinkimas = input(&amp;quot;Pasirinkite savo parinktį iš aukščiau pateikto meniu: &amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Rekursinės funkcijos |next=Ciklai For}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/S%C4%85ra%C5%A1ai&amp;diff=4116</id>
		<title>Python Vadovėlis/Sąrašai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/S%C4%85ra%C5%A1ai&amp;diff=4116"/>
		<updated>2022-07-20T06:39:39Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėtas poskyris apie rūšiavimą&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Rekursinės funkcijos |next=Ciklai For}}&lt;br /&gt;
{{BookCat}}&lt;br /&gt;
&lt;br /&gt;
=== Kintamieji, turintys daugiau nei vieną reikšmę ===&lt;br /&gt;
Tu jau žinai įprastus kintamuosius, kuriuose saugoma viena reikšmė. Tačiau kiti kintamųjų tipai gali turėti daugiau nei vieną reikšmę. Jie vadinami konteineriais (containers), nes juose gali būti daugiau nei vienas objektas. Paprasčiausias tipas vadinamas sąrašu (list). Sąrašo pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
kuris = int(input(&amp;quot;Kuris mėnuo (1-12)? &amp;quot;))&lt;br /&gt;
mėnesiai = [&amp;quot;Sausis&amp;quot;, &amp;quot;Vasaris&amp;quot;, &amp;quot;Kovas&amp;quot;, &amp;quot;Balandis&amp;quot;, &amp;quot;Gegužė&amp;quot;, &amp;quot;Birželis&amp;quot;, &amp;quot;Liepa&amp;quot;,&lt;br /&gt;
          &amp;quot;Rugpjūtis&amp;quot;, &amp;quot;Rugsėjis&amp;quot;, &amp;quot;Spalis&amp;quot;, &amp;quot;Lapkritis&amp;quot;, &amp;quot;Gruodis&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
if 1 &amp;lt;= kuris &amp;lt;= 12:&lt;br /&gt;
    print(&amp;quot;Mėnuo yra &amp;quot;, mėnesiai[kuris - 1])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pavyzdžio išvestis būtų:&lt;br /&gt;
&lt;br /&gt;
 Kuris mėnuo (1-12)? '''3'''&lt;br /&gt;
 Mėnuo yra Kovas&lt;br /&gt;
&lt;br /&gt;
Šiame pavyzdyje &amp;lt;code&amp;gt;mėnesiai&amp;lt;/code&amp;gt; yra sąrašas. Kintamasis &amp;lt;code&amp;gt;mėnesiai&amp;lt;/code&amp;gt; yra apibrėžtas šia eilute &amp;lt;code&amp;gt;mėnesiai = [&amp;quot;Sausis&amp;quot;, &amp;quot;Vasaris&amp;quot;, &amp;quot;Kovas&amp;quot;, &amp;quot;Balandis&amp;quot;, &amp;quot;Gegužė&amp;quot;, &amp;quot;Birželis&amp;quot;, &amp;quot;Liepa&amp;quot;,&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;&amp;quot;Rugpjūtis&amp;quot;, &amp;quot;Rugsėjis&amp;quot;, &amp;quot;Spalis&amp;quot;, &amp;quot;Lapkritis&amp;quot;, &amp;quot;Gruodis&amp;quot;]&amp;lt;/code&amp;gt; (atkreipk dėmesį, kad viena komanda parašyta per dvi eilutes; paprastai keliant eilutę yra naudojamas simbolis / tačiau šiuo atveju jis nėra būtinas, nes Python'as supranta, kad viskas, kas yra laužtiniuose skliaustuose yra kartu). &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; pradeda ir užbaigia sąrašą, o kableliai (&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;) atskiria sąrašo elementus. Sąrašas naudojamas šioje dalyje: &amp;lt;code&amp;gt;mėnesiai[kuris - 1]&amp;lt;/code&amp;gt;. Sąrašas susideda iš elementų, kurie sunumeruoti pradedant nuo 0. Kitaip tariant, norint sąraše pasiekti elementą &amp;quot;Sausis&amp;quot;, turėtum rašyti &amp;lt;code&amp;gt;mėnesiai[0]&amp;lt;/code&amp;gt;. Nurodant sąrašui skaičių, tu gauni reikšmę išsaugotą toje sąrašo pozicijoje.&lt;br /&gt;
&lt;br /&gt;
Sąlyginis sakinys &amp;lt;code&amp;gt; if 1 &amp;lt;= kuris &amp;lt;= 12:&amp;lt;/code&amp;gt; tikrina, ar skaičius kintamajame &amp;lt;code&amp;gt;kuris&amp;lt;/code&amp;gt; yra tarp vieno ir dvylikos imtinai (tiek yra mėnesių ir taip jie numeruojami).&lt;br /&gt;
&lt;br /&gt;
Viename sąraše gali būti saugomi ir skirtingų tipų duomenys. Kiekvienas elementas saugo vis kitą reikšmę. Pavyzdžiui, sąrašas sukurtas šiuo kodu: &amp;lt;code&amp;gt;demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9]&amp;lt;/code&amp;gt; atrodytų taip:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!elemento numeris&lt;br /&gt;
!0 &lt;br /&gt;
!1  &lt;br /&gt;
!2 &lt;br /&gt;
!3 &lt;br /&gt;
!4 &lt;br /&gt;
!5 &lt;br /&gt;
|-&lt;br /&gt;
|demoSąrašas &lt;br /&gt;
|&amp;quot;gyvybė&amp;quot; &lt;br /&gt;
|42 &lt;br /&gt;
|&amp;quot;visata&amp;quot; &lt;br /&gt;
|6 &lt;br /&gt;
|&amp;quot;ir&amp;quot;&lt;br /&gt;
|9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Kiekvienas elementas pasiekiamas per jo eilės numerį – indeksą, todėl komanda &amp;lt;code&amp;gt;demoSąrašas[0]&amp;lt;/code&amp;gt; pateiktų reikšmę: &amp;lt;code&amp;gt;&amp;quot;gyvybė&amp;quot;&amp;lt;/code&amp;gt;, o komanda &amp;lt;code&amp;gt;demoSąrašas[1]&amp;lt;/code&amp;gt; – reikšmę &amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt; ir taip toliau iki kol &amp;lt;code&amp;gt;demoSąrašas[5]&amp;lt;/code&amp;gt; pateikia reikšmę &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Daugiau sąrašų funkcijų ===&lt;br /&gt;
Kitas pavyzdys yra skirtas parodyti daugybę kitų dalykų, kuriuos gali padaryti sąrašai (šį kartą nesitikiu, kad viską pats sugebėsi parašyti, bet tikriausiai turėtum šiek tiek pažaisti su sąrašais interaktyviame režime, kol apsiprasi su jais). Pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9]&lt;br /&gt;
print(&amp;quot;demoSąrašas = &amp;quot;, demoSąrašas)&lt;br /&gt;
demoSąrašas.append(&amp;quot;oras&amp;quot;)&lt;br /&gt;
print(&amp;quot;po 'oras' pridėjimo, demoSąrašas atrodo taip:&amp;quot;)&lt;br /&gt;
print(demoSąrašas)&lt;br /&gt;
print(&amp;quot;len(demoSąrašas) =&amp;quot;, len(demoSąrašas))&lt;br /&gt;
print(&amp;quot;demoSąrašas.index(42) =&amp;quot;, demoSąrašas.index(42))&lt;br /&gt;
print(&amp;quot;demoSąrašas[1] =&amp;quot;, demoSąrašas[1])&lt;br /&gt;
&lt;br /&gt;
# o dabar mes pereisime per visą sąrašą &amp;quot;for&amp;quot; ciklu&lt;br /&gt;
for c in range(len(demoSąrašas)):&lt;br /&gt;
    print(&amp;quot;demoSąrašas[&amp;quot;, c, &amp;quot;] =&amp;quot;, demoSąrašas[c])&lt;br /&gt;
&lt;br /&gt;
del demoSąrašas[2]&lt;br /&gt;
print(&amp;quot;Po 'visata' pašalinimo, demoSąrašas atrodo taip:&amp;quot;)&lt;br /&gt;
print(demoSąrašas)&lt;br /&gt;
if &amp;quot;gyvybė&amp;quot; in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;'gyvybė' buvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;'gyvybė' nebuvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if &amp;quot;ameba&amp;quot; in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;'ameba' buvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if &amp;quot;ameba&amp;quot; not in demoSąrašas:&lt;br /&gt;
    print(&amp;quot;'ameba' nebuvo rasta kintamajame demoSąrašas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
kitasSąrašas = [42, 7, 0, 123]&lt;br /&gt;
kitasSąrašas.sort()&lt;br /&gt;
print(&amp;quot;Išrikiuotas kitasSąrašas atrodo taip&amp;quot;, kitasSąrašas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodo išvestis būtų tokia:&lt;br /&gt;
&lt;br /&gt;
 demoSąrašas = [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9]&lt;br /&gt;
 po &amp;quot;oras&amp;quot; pridėjimo, demoSąrašas atrodo taip:&lt;br /&gt;
 [&amp;quot;gyvybė&amp;quot;, 42, &amp;quot;visata&amp;quot;, 6, &amp;quot;ir&amp;quot;, 9, &amp;quot;oras&amp;quot;]&lt;br /&gt;
 len(demoSąrašas) = 7&lt;br /&gt;
 demoSąrašas.index(42) = 1&lt;br /&gt;
 demoSąrašas[1] = 42&lt;br /&gt;
 demoSąrašas[ 0 ] = gyvybė&lt;br /&gt;
 demoSąrašas[ 1 ] = 42&lt;br /&gt;
 demoSąrašas[ 2 ] = visata&lt;br /&gt;
 demoSąrašas[ 3 ] = 6&lt;br /&gt;
 demoSąrašas[ 4 ] = ir&lt;br /&gt;
 demoSąrašas[ 5 ] = 9&lt;br /&gt;
 demoSąrašas[ 6 ] = oras&lt;br /&gt;
 Po 'visata' pašalinimo, demoSąrašas atrodo taip:&lt;br /&gt;
 [&amp;quot;gyvybė&amp;quot;, 42, 6, &amp;quot;ir&amp;quot;, 9, &amp;quot;oras&amp;quot;]&lt;br /&gt;
 &amp;quot;gyvybė&amp;quot; buvo rasta kintamajame demoSąrašas&lt;br /&gt;
 &amp;quot;ameba&amp;quot; nebuvo rasta kintamajame demoSąrašas&lt;br /&gt;
 Išrikiuotas kitasSąrašas atrodo taip [0, 7, 42, 123]&lt;br /&gt;
&lt;br /&gt;
Šiame pavyzdyje rasi daug naujų funkcijų. Atkreipk dėmesį, kad gali tiesiog atspausdinti (&amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt;) visą sąrašą. Toliau funkcija &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt; naudojama tam, kad pridėtum naują elementą į sąrašo pabaigą. &amp;lt;code&amp;gt;len&amp;lt;/code&amp;gt; grąžina kiek elementų yra sąraše. Tinkami sąrašo indeksai (skaičiai kuriuos naudojame viduje laužtinių skliaustų &amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt;) yra nuo 0 iki &amp;lt;code&amp;gt;len - 1&amp;lt;/code&amp;gt;. Funkcija &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; nurodo, kur sąraše yra pirmoji elemento vieta. Atkreipk dėmesį, kaip &amp;lt;code&amp;gt;demoSąrašas.index(42)&amp;lt;/code&amp;gt; pateikia 1, o paleidus &amp;lt;code&amp;gt;demoSąrašas[1]&amp;lt;/code&amp;gt; grąžina 42. Norint gauti pagalbos dėl visų sąrašo funkcijų, įvykdyk komandą &amp;lt;code&amp;gt; help(list)&amp;lt;/code&amp;gt; interaktyviajame Python'o interpretatoriuje.&lt;br /&gt;
&lt;br /&gt;
Eilutė &amp;lt;code&amp;gt;# o dabar mes pereisime per visą sąrašą &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklu&amp;lt;/code&amp;gt; yra tik priminimas programuotojui (dar vadinamas kaip „komentaras“). Python'as ignoruoja viską, kas parašyta esamoje eilutėje po simbolio &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;. Toliau eilutės:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
for c in range(len(demoSąrašas)):&lt;br /&gt;
    print(&amp;quot;demoSąrašas[&amp;quot;, c, &amp;quot;] =&amp;quot;, demoSąrašas[c])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
sukuria kintamajį &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;, kuris prasideda nuo 0 ir didinamas vienetu, kol pasiekia paskutinį sąrašo indeksą. Tuo tarpu &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; komanda išspausdina kiekvieną sąrašo elementą.&lt;br /&gt;
&lt;br /&gt;
Daug geresnis būdas tai padaryti:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
for c, x in enumerate(demoSąrašas):&lt;br /&gt;
    print(&amp;quot;demoSąrašas[&amp;quot;, c, &amp;quot;] =&amp;quot;, x)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Komanda &amp;lt;code&amp;gt;del&amp;lt;/code&amp;gt; gali būti naudojama tam tikram sąrašo elementui pašalinti. Kitos kelios eilutės naudoja &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; operatorių, kad patikrintų, ar elementas yra sąraše, ar ne. Funkcija &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; rūšiuoja sąrašą. Tai naudinga, jei tau reikia sąrašo nuo mažiausio iki didžiausio arba abėcėlės tvarka. Atmink, kad tai pakeičia sąrašą. Apibendrinant, su sąrašu yra atliekami šie veiksmai:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!pavyzdys &lt;br /&gt;
!paaiškinimas&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas[2]&amp;lt;/code&amp;gt; &lt;br /&gt;
|grąžina 2 sąrašo demoSąrašas elementą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas[2] = 3&amp;lt;/code&amp;gt; &lt;br /&gt;
|į sąrašo demoSąrašas 2 poziciją (numeruojama nuo 0) įrašo reikšmę 3&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;del demoSąrašas[2]&amp;lt;/code&amp;gt; &lt;br /&gt;
|pašalina sąrašo demoSąrašas elementą, esantį 2 pozicijoje&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;len(demoSąrašas)&amp;lt;/code&amp;gt; &lt;br /&gt;
|grąžina &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt; sąrašo ilgį, t.y. elementų skaičių&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot; in demoSąrašas&amp;lt;/code&amp;gt; &lt;br /&gt;
|yra ''True'' jeigu &amp;lt;tt&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/tt&amp;gt; yra elementas, priklausantis &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot; not in demoSąrašas&amp;lt;/code&amp;gt; &lt;br /&gt;
|yra ''True'' jeigu &amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/code&amp;gt; nėra elementas, priklausantis &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;kitasSąrašas.sort()&amp;lt;/code&amp;gt; &lt;br /&gt;
|surūšiuoja &amp;lt;code&amp;gt;kitasSąrašas&amp;lt;/code&amp;gt;. Atmink, kad rūšiavimas pavyktų, visi sąrašo elementai turi būti arba skaičiai, arba eilutės (string).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas.index(&amp;quot;reikšmė&amp;quot;)&amp;lt;/code&amp;gt; &lt;br /&gt;
|grąžina pirmosios vietos, kurioje atsiranda &amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/code&amp;gt;, indeksą&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas.append(&amp;quot;reikšmė&amp;quot;)&amp;lt;/code&amp;gt; &lt;br /&gt;
|sąrašo pabaigoje prideda elementą &amp;lt;code&amp;gt;&amp;quot;reikšmė&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;demoSąrašas.remove(&amp;quot;reikšmė&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
|pašalina pirmą rastą elementą su nurodyta reikšme iš &amp;lt;code&amp;gt;demoSąrašas&amp;lt;/code&amp;gt; (taip pat, kaip &amp;lt;code&amp;gt;del demoSąrašas[demoSąrašas.index(&amp;quot;reikšmė&amp;quot;)]&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiai, kur praktiškai naudojamos šios funkcijos:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
meniuElementas = 0&lt;br /&gt;
vardųSarašas = []&lt;br /&gt;
while meniuElementas != 9:&lt;br /&gt;
    print(&amp;quot;--------------------&amp;quot;)&lt;br /&gt;
    print(&amp;quot;1. Spausdinti sąrašą&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2. Pridėti vardą prie sąrašo&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3. Pašalinti vardą iš sąrašo&amp;quot;)&lt;br /&gt;
    print(&amp;quot;4. Pakeisti elementą sąraše&amp;quot;)&lt;br /&gt;
    print(&amp;quot;9. Išeiti&amp;quot;)&lt;br /&gt;
    meniuElementas = int(input(&amp;quot;Pasirinkite elementą iš meniu: &amp;quot;))&lt;br /&gt;
    if meniuElementas == 1:&lt;br /&gt;
        dabartinis = 0&lt;br /&gt;
        if len(vardųSarašas) &amp;gt; 0:&lt;br /&gt;
            while dabartinis &amp;lt; len(vardųSarašas):&lt;br /&gt;
                print(dabartinis, &amp;quot;.&amp;quot;, vardųSarašas[dabartinis])&lt;br /&gt;
                dabartinis = dabartinis + 1&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Sąrašas tuščias&amp;quot;)&lt;br /&gt;
    elif meniuElementas == 2:&lt;br /&gt;
        vardas = input(&amp;quot;Įveskite vardą, kurį norite pridėti: &amp;quot;)&lt;br /&gt;
        vardųSarašas.append(vardas)&lt;br /&gt;
    elif meniuElementas == 3:&lt;br /&gt;
        šalinamasVardas = input(&amp;quot;Kokį vardą norėtumėte pašalinti:&amp;quot;)&lt;br /&gt;
        if šalinamasVardas in vardųSarašas:&lt;br /&gt;
            # vardųSarašas.remove(šalinamasVardas) veiktų taip pat gerai&lt;br /&gt;
            elementoIndeksas = vardųSarašas.index(šalinamasVardas)&lt;br /&gt;
            del vardųSarašas[elementoIndeksas]&lt;br /&gt;
            # Aukščiau pateiktas kodas pašalina tik pirmąjį surasta vardą.&lt;br /&gt;
            # Žemiau esantis kodas pašalina visus.&lt;br /&gt;
            # while šalinamasVardas in vardųSarašas:&lt;br /&gt;
            #       elementoIndeksas = vardųSarašas.index(šalinamasVardas)&lt;br /&gt;
            #       del vardųSarašas[elementoIndeksas]&lt;br /&gt;
        else:&lt;br /&gt;
            print(šalinamasVardas, &amp;quot;nerastas&amp;quot;)&lt;br /&gt;
    elif meniuElementas == 4:&lt;br /&gt;
        senasVardas = input(&amp;quot;Kokį vardą norėtumėte pakeisti:&amp;quot;)&lt;br /&gt;
        if senasVardas in vardųSarašas:&lt;br /&gt;
            elementoIndeksas = vardųSarašas.index(senasVardas)&lt;br /&gt;
            naujasVardas = input(&amp;quot;Koks yra naujas vardas: &amp;quot;)&lt;br /&gt;
            vardųSarašas[elementoIndeksas] = naujasVardas&lt;br /&gt;
        else:&lt;br /&gt;
            print(senasVardas, &amp;quot;nerastas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Iki pasimatymo&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir čia yra išvesties dalis:&lt;br /&gt;
&lt;br /&gt;
 --------------------&lt;br /&gt;
 1. Spausdinti sąrašą&lt;br /&gt;
 2. Pridėti vardą prie sąrašo&lt;br /&gt;
 3. Pašalinti vardą iš sąrašo&lt;br /&gt;
 4. Pakeisti elementą sąraše&lt;br /&gt;
 9. Išeiti&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''2'''&lt;br /&gt;
 Įveskite vardą, kurį norite pridėti: '''Benas'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''2'''&lt;br /&gt;
 Įveskite vardą, kurį norite pridėti: '''Liepa'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''1'''&lt;br /&gt;
 0. Benas&lt;br /&gt;
 1. Liepa&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''3'''&lt;br /&gt;
 Kokį vardą norėtumėte pašalinti: '''Benas'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''4'''&lt;br /&gt;
 Kokį vardą norėtumėte pakeisti: '''Liepa'''&lt;br /&gt;
 Koks yra naujas vardas: '''Liepa Petraitė'''&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''1'''&lt;br /&gt;
 0. Liepa Petraitė&lt;br /&gt;
 &lt;br /&gt;
 Pasirinkite elementą iš meniu: '''9'''&lt;br /&gt;
 Iki pasimatymo&lt;br /&gt;
&lt;br /&gt;
Tai buvo ilga programa. Panagrinėkime pirminį programos tekstą. Eilutė &amp;lt;code&amp;gt;vardųSarašas = []&amp;lt;/code&amp;gt; sukuria kintamajį &amp;lt;code&amp;gt;vardųSarašas&amp;lt;/code&amp;gt;, tuščia sąrašą, be elementų. Kita svarbi eilutė yra &amp;lt;code&amp;gt;while meniuElementas != 9:&amp;lt;/code&amp;gt;. Ši eilutė pradeda ciklą, leidžiantį šios programos meniu sistemai veikti. Kitos eilutės parodo meniu ir nusprendžia, kurią programos dalį paleisti.&lt;br /&gt;
&lt;br /&gt;
Ši dalis:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dabartinis = 0&lt;br /&gt;
    if len(vardųSarašas) &amp;gt; 0:&lt;br /&gt;
        while dabartinis &amp;lt; len(vardųSarašas):&lt;br /&gt;
            print(dabartinis, &amp;quot;.&amp;quot;, vardųSarašas[dabartinis])&lt;br /&gt;
            dabartinis = dabartinis + 1&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Sąrašas tuščias&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
eina per sąrašą ir spausdina kiekvieną vardą. &amp;lt;code&amp;gt;len(vardųSarašas)&amp;lt;/code&amp;gt; nurodo, kiek elementų yra sąraše. Jei &amp;lt;code&amp;gt;len&amp;lt;/code&amp;gt; grąžina &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, tai reiškia sąrašas tuščias.&lt;br /&gt;
&lt;br /&gt;
Toliau po kelių eilučių matysi sakinį &amp;lt;code&amp;gt;vardųSarašas.append(vardas)&amp;lt;/code&amp;gt;. Jis naudoja funkciją &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt;, kad pridėtų elementą į sąrašo pabaigą. Peršokus dar dvi eilutes, pastebėsi šią kodo dalį:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
elementoIndeksas = vardųSarašas.index(šalinamasVardas)&lt;br /&gt;
del vardųSarašas[elementoIndeksas]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Čia funkcija &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; yra naudojama norint rasti indekso reikšmę, kuri vėliau bus naudojama elementui pašalinti. &amp;lt;code&amp;gt;del vardųSarašas[elementoIndeksas]&amp;lt;/code&amp;gt; naudojamas sąrašo elementui pašalinti.   &lt;br /&gt;
&lt;br /&gt;
Kitoje kodo dalyje&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
senasVardas = input(&amp;quot;Kokį vardą norėtumėte pakeisti:&amp;quot;)&lt;br /&gt;
if senasVardas in vardųSarašas:&lt;br /&gt;
    elementoIndeksas = vardųSarašas.index(senasVardas)&lt;br /&gt;
    naujasVardas = input(&amp;quot;Koks yra naujas vardas: &amp;quot;)&lt;br /&gt;
    vardųSarašas[elementoIndeksas] = naujasVardas&lt;br /&gt;
else:&lt;br /&gt;
    print(senasVardas, &amp;quot;nerastas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
naudojamas &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;, kad surastų &amp;lt;code&amp;gt;elementoIndeksas&amp;lt;/code&amp;gt; ir tada įdėtų &amp;lt;code&amp;gt;naujasVardas&amp;lt;/code&amp;gt; ten, kur buvo &amp;lt;code&amp;gt;senasVardas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sveikinu, perpratus sąrašus, dabar tu pakankamai žinai kalbą, kad galėtum atlikti bet kokius skaičiavimus, kuriuos gali atlikti kompiuteris (tai techniškai žinoma kaip [[Wikipedia:Turing_completeness|Turing-Completeness]]). Žinoma, vis dar yra daug funkcijų, kurias naudojant tu pasilengvinsi sau gyvenimą.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sąrašų rūšiavimas ===&lt;br /&gt;
&lt;br /&gt;
Dažai pasitaikanti užduotis su sąrašais - jų rūšiavimas. Paprastų sąrašų, kurie yra sudaryti iš skaičių ar eilučių, rūšiavimui gali naudoti funkciją &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;, kuri buvo paminėta anksčiau šiame skyriuje. Tačiau gali susidurti su situacijomis, kai ši funkcija yra nepakankama. Egzistuoja daug rūšiavimo algoritmų, tačiau čia išmoksi vieną paprasčiausių iš jų - burbuliuko algoritmą (angl. bubble sort).&lt;br /&gt;
&lt;br /&gt;
Algoritmo idėja yra tokia, kad iš kairės į dešinę lyginame gretimų elementų poras ir sukeičiame elementus vietomis, jei pirmasis yra didesnis už antrąjį. Kiekvienos iteracijos metu, didžiausias nesurūšiuotas elementas juda link sąrašo galo. Toks judėjimas primena burbuliukų vandenyje judėjimą į paviršių, iš ko ir kilo algoritmo pavadinimas. Iteracijos kartojamos tol, kol visi elementai yra savo vietose.&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiui, surūšiuokime jau prieš tai naudotą sąrašą [42, 7, 0, 123].&lt;br /&gt;
&lt;br /&gt;
Pirma iteracija:&lt;br /&gt;
&lt;br /&gt;
	['''42''', '''7''', 0, 123] -&amp;gt; ['''7''', '''42''', 0, 123] Lyginami pirmi du elementai. Antrasis yra didesnis už pirmąjį, todėl elementai pakeičiami vietomis.&lt;br /&gt;
&lt;br /&gt;
	[7, '''42''', '''0''', 123] -&amp;gt; [7, '''0''', '''42''', 123] Lyginami antras ir trečias elementai. Trečiasis yra didesnis už antrąjį, todėl elementai pakeičiami vietomis.&lt;br /&gt;
&lt;br /&gt;
	[7, 0, '''42''', '''123'''] -&amp;gt; [7, 0, '''42''', '''123'''] Lyginami paskutiniai du elementai. Jie yra išdėstyti tinkamai, todėl nėra pakeičiami vietomis.&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Antra iteracija:&lt;br /&gt;
&lt;br /&gt;
	['''7''', '''0''', 42, 123] -&amp;gt; ['''0''', '''7''', 42, 123] Lyginami pirmi du elementai. Antrasis yra didesnis už pirmąjį, todėl elementai pakeičiami vietomis.&lt;br /&gt;
&lt;br /&gt;
	[0, '''7''', '''42''', 123] -&amp;gt; [0, '''7''', '''42''', 123] Lyginami antras ir trečias elementai. Jie yra išdėstyti tinkamai, todėl nėra pakeičiami vietomis.&lt;br /&gt;
&lt;br /&gt;
	[0, 7, '''42''', '''123'''] -&amp;gt; [0, 7, '''42''', '''123'''] Lyginami paskutiniai du elementai. Jie yra išdėstyti tinkamai, todėl nėra pakeičiami vietomis.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
Trečia iteracija:&lt;br /&gt;
&lt;br /&gt;
	['''0''', '''7''', 42, 123] -&amp;gt; ['''0''', '''7''', 42, 123] Elementai išdėstyti tinkamai.&lt;br /&gt;
&lt;br /&gt;
	[0, '''7''', '''42''', 123] -&amp;gt; [0, '''7''', '''42''', 123] Elementai išdėstyti tinkamai.&lt;br /&gt;
&lt;br /&gt;
	[0, 7, '''42''', '''123'''] -&amp;gt; [0, 7, '''42''', '''123'''] Elementai išdėstyti tinkamai.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
Trečios iteracijos metu algoritmas neatlieka jokių pakeitimų, tad nustatoma, kad sąrašas yra surūšiuotas, algoritmas baigtas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algoritmo kodą galima užrašyti taip:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def burbuliukoRūšiavimas(sąrašas):&lt;br /&gt;
    sąrašoIlgis = len(sąrašas)&lt;br /&gt;
    # Maksimalus iteracijų skaičius - sąrašo ilgis - 1 elementas&lt;br /&gt;
    for i in range(sąrašoIlgis  - 1): &lt;br /&gt;
        arBuvoPakeitimų = 0&lt;br /&gt;
        # Kiekvienoje iteracijoje lyginami visi elementai&lt;br /&gt;
        for j in range(sąrašoIlgis - 1): &lt;br /&gt;
            if sąrašas[j] &amp;gt; sąrašas[j + 1]:&lt;br /&gt;
                # Sukuriame laikiną elementą, kuris saugo pirmąjį lyginamą elementą&lt;br /&gt;
                laikinasElementas = sąrašas[j]&lt;br /&gt;
                # Pirmąjam elementui priskiriame antro elemento reikšmę&lt;br /&gt;
                sąrašas[j] = sąrašas[j + 1]&lt;br /&gt;
                # Antrajam elementui priskiriame laikino elemento reikšmę, kuri yra lygi buvusiam pirmąjam elementui&lt;br /&gt;
                sąrašas[j + 1] = laikinasElementas&lt;br /&gt;
                # Pasižymime, kad iteracijos metu buvo padaryti pakeitimai, taigi reikės papildomų iteracijų&lt;br /&gt;
                arBuvoPakeitimų = 1&lt;br /&gt;
        # Jei visos iteracijos metu nebuvo nei vieno pakeitimo, algoritmas baigiamas&lt;br /&gt;
        if arBuvoPakeitimų == 0:&lt;br /&gt;
            break&lt;br /&gt;
    return sąrašas&lt;br /&gt;
&lt;br /&gt;
rezultatas = burbuliukoRūšiavimas([42, 7, 0, 123])&lt;br /&gt;
&lt;br /&gt;
print (rezultatas)&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pogramos išvestis: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[0, 7, 42, 123]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
'''testas.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
## Ši programa atlieka žinių patikrinimą&lt;br /&gt;
&lt;br /&gt;
# Pirmiausia surenkame testo klausimus.&lt;br /&gt;
# Vėliau šią dalį pakeisime, kad būtų naudojama failinė sistema.&lt;br /&gt;
def gauti_klausimus():&lt;br /&gt;
    # atkreipk dėmesį, kad duomenys saugomi kaip sąrašų sąrašas&lt;br /&gt;
    return [[&amp;quot;Kokios spalvos yra dangus giedrą dieną? &amp;quot;, &amp;quot;mėlynas&amp;quot;],&lt;br /&gt;
            [&amp;quot;Koks atsakymas į gyvenimą, visatą ir viską? &amp;quot;, &amp;quot;42&amp;quot;],&lt;br /&gt;
            [&amp;quot;Kas yra keturių raidžių žodis pelės gaudyklei? &amp;quot;, &amp;quot;katė&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
# Ši dalis patikrins vieną klausimą&lt;br /&gt;
# pateikiamas vienas klausimas&lt;br /&gt;
# grąžinama teisinga (True), jei vartotojas įvedė teisingą atsakymą, kitu atveju - klaidinga (False)&lt;br /&gt;
&lt;br /&gt;
def pateik_klausimą(klausimas_ir_atsakymas):&lt;br /&gt;
    # ištraukiame klausimą ir atsakymą iš sąrašo&lt;br /&gt;
    # Ši funkcija priima dviejų elementų sąrašą, klausimą ir atsakymą.  &lt;br /&gt;
    klausimas = klausimas_ir_atsakymas[0]   &lt;br /&gt;
    atsakymas = klausimas_ir_atsakymas[1]&lt;br /&gt;
    # užduodame klausimą vartotojui&lt;br /&gt;
    duotas_atsakymas = input(klausimas)&lt;br /&gt;
    # palyginame vartotojo atsakymą su teisingu atsakymu&lt;br /&gt;
    if atsakymas == duotas_atsakymas:&lt;br /&gt;
        print(&amp;quot;Teisingai&amp;quot;)&lt;br /&gt;
        return True&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neteisingai. Teisingas atsakymas: &amp;quot;, atsakymas)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
# Šis kodas apims visus klausimus&lt;br /&gt;
def atlikti_testus(klausimai):&lt;br /&gt;
    if len(klausimai) == 0:&lt;br /&gt;
        print(&amp;quot;Nepateiktas nei vienas klausimas.&amp;quot;)&lt;br /&gt;
        # `return` išeis iš funkcijos&lt;br /&gt;
        return&lt;br /&gt;
    indeksas = 0&lt;br /&gt;
    teisingai = 0&lt;br /&gt;
    while indeksas &amp;lt; len(klausimai):&lt;br /&gt;
        # patikriname klausimą&lt;br /&gt;
        # Atkreipk dėmesį, kad tai yra klausimų ir atsakymų sąrašo ištraukimas iš sąrašų sąrašo.&lt;br /&gt;
        if pateik_klausimą(klausimai[indeksas]): &lt;br /&gt;
            teisingai = teisingai + 1&lt;br /&gt;
        # pareiname prie kito klausimo&lt;br /&gt;
        indeksas = indeksas + 1&lt;br /&gt;
    # atkreipk dėmesį į skaičiavimo tvarką: pirmiausia padaugini, tada padalini&lt;br /&gt;
    print(&amp;quot;Atsakei teisingai į &amp;quot;, teisingai * 100 / len(klausimai),\&lt;br /&gt;
           &amp;quot;% klausimų iš &amp;quot;, len(klausimai))&lt;br /&gt;
&lt;br /&gt;
# dabar paimkime klausimus iš funkcijos gauti_klausimus ir&lt;br /&gt;
# paduokime grąžintą sąrašų sąrašą kaip argumentą funkcijai atlikti_testus.&lt;br /&gt;
&lt;br /&gt;
atlikti_testus(gauti_klausimus())&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reikšmės &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; turi reikšmes atitinkamai 1 ir 0. Jie dažnai naudojami loginės sekos patikrinimui, ciklo sąlygoms ir pan. Daugiau apie tai sužinosi šiek tiek vėliau (skyrius [[Vadovėlis/Loginiai reiškiniai|Loginiai reiškiniai]]).&lt;br /&gt;
Atkreipk dėmesį, kad gauti_klausimus() iš esmės yra sąrašas, nors tai techniškai yra funkcija - sąrašų grąžinimas yra vienintelis dalykas, kurį jis daro. &lt;br /&gt;
&lt;br /&gt;
Pavyzdžio išvestis:&lt;br /&gt;
&lt;br /&gt;
 Kokios spalvos yra dangus giedrą dieną? '''žalias'''&lt;br /&gt;
 Neteisingai. Teisingas atsakymas: mėlynas&lt;br /&gt;
 Koks atsakymas į gyvenimą, visatą ir viską? '''42'''&lt;br /&gt;
 Teisingai&lt;br /&gt;
 Kas yra keturių raidžių žodis pelės gaudyklei? '''katė'''&lt;br /&gt;
 Teisingai&lt;br /&gt;
 Atsakei teisingai į 66% klausimų iš 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
&lt;br /&gt;
Išplėsk testas.py programą, kad ji turėtų meniu, kuriame būtų galima atlikti testą,&lt;br /&gt;
peržiūrėti klausimų ir atsakymų sąrašą ir pasirinkti išeiti iš programos. Taip pat, pridėk naują klausimą:&lt;br /&gt;
„Kokį triukšmą kelia tikrai pažangi mašina?“ su teisingu atsakymu „ping“.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
## Ši programa atlieka žinių patikrinimą&lt;br /&gt;
&lt;br /&gt;
klausimai = [[&amp;quot;Kokios spalvos yra dangus giedrą dieną? &amp;quot;, &amp;quot;mėlynas&amp;quot;],&lt;br /&gt;
             [&amp;quot;Koks atsakymas į gyvenimą, visatą ir viską? &amp;quot;, &amp;quot;42&amp;quot;],&lt;br /&gt;
             [&amp;quot;Kas yra keturių raidžių žodis pelės gaudyklei? &amp;quot;, &amp;quot;katė&amp;quot;],&lt;br /&gt;
             [&amp;quot;Kokį triukšmą kelia tikrai pažangi mašina?&amp;quot;, &amp;quot;ping&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
# Ši dalis patikrins vieną klausimą&lt;br /&gt;
# pateikiamas vienas klausimas&lt;br /&gt;
# grąžinama teisinga (True), jei vartotojas įvedė teisingą atsakymą, kitu atveju - klaidinga (False)&lt;br /&gt;
&lt;br /&gt;
def pateik_klausimą(klausimas_ir_atsakymas):&lt;br /&gt;
    # ištraukiame klausimą ir atsakymą iš sąrašo&lt;br /&gt;
    # Ši funkcija priima dviejų elementų sąrašą, klausimą ir atsakymą.  &lt;br /&gt;
    klausimas = klausimas_ir_atsakymas[0]   &lt;br /&gt;
    atsakymas = klausimas_ir_atsakymas[1]&lt;br /&gt;
    # užduodame klausimą vartotojui&lt;br /&gt;
    duotas_atsakymas = input(klausimas)&lt;br /&gt;
    # palyginame vartotojo atsakymą su teisingu atsakymu&lt;br /&gt;
    if atsakymas == duotas_atsakymas:&lt;br /&gt;
        print(&amp;quot;Teisingai&amp;quot;)&lt;br /&gt;
        return True&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neteisingai. Teisingas atsakymas: &amp;quot;, atsakymas)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
# Šis kodas apims visus klausimus&lt;br /&gt;
def atlikti_testus(klausimai):&lt;br /&gt;
    if len(klausimai) == 0:&lt;br /&gt;
        print(&amp;quot;Nepateiktas nei vienas klausimas.&amp;quot;)&lt;br /&gt;
        # `return` išeis iš funkcijos&lt;br /&gt;
        return&lt;br /&gt;
    indeksas = 0&lt;br /&gt;
    teisingai = 0&lt;br /&gt;
    while indeksas &amp;lt; len(klausimai):&lt;br /&gt;
        # patikriname klausimą&lt;br /&gt;
        # Atkreipk dėmesį, kad tai yra klausimų ir atsakymų sąrašo ištraukimas iš sąrašų sąrašo.&lt;br /&gt;
        if pateik_klausimą(klausimai[indeksas]): &lt;br /&gt;
            teisingai = teisingai + 1&lt;br /&gt;
        # pareiname prie kito klausimo&lt;br /&gt;
        indeksas = indeksas + 1&lt;br /&gt;
    # atkreipk dėmesį į skaičiavimo tvarką: pirmiausia padaugini, tada padalini&lt;br /&gt;
    print(&amp;quot;Atsakei teisingai į &amp;quot;, teisingai * 100 / len(klausimai),\&lt;br /&gt;
           &amp;quot;% klausimų iš &amp;quot;, len(klausimai))&lt;br /&gt;
&lt;br /&gt;
#rodomas klausimų ir atsakymų sąrašas&lt;br /&gt;
def rodyk_klausimus():&lt;br /&gt;
    k = 0&lt;br /&gt;
    while k &amp;lt; len(klausimai):&lt;br /&gt;
        a = 0&lt;br /&gt;
        print(&amp;quot;K:&amp;quot; , klausimai[k][a])&lt;br /&gt;
        a = 1&lt;br /&gt;
        print(&amp;quot;A:&amp;quot; , klausimai[k][a])&lt;br /&gt;
        k = k + 1&lt;br /&gt;
&lt;br /&gt;
# dabar apibrėžiu meniu funkciją&lt;br /&gt;
def meniu():&lt;br /&gt;
    print(&amp;quot;-----------------&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Meniu:&amp;quot;)&lt;br /&gt;
    print(&amp;quot;1 - Atlikti testą&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2 - Peržiūrėti klausimų ir atsakymų sąrašą&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3 - Peržiūrėti meniu&amp;quot;)&lt;br /&gt;
    print(&amp;quot;5 - Išeiti&amp;quot;)&lt;br /&gt;
    print(&amp;quot;-----------------&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pasirinkimas = &amp;quot;3&amp;quot;&lt;br /&gt;
while pasirinkimas != &amp;quot;5&amp;quot;:&lt;br /&gt;
    if pasirinkimas == &amp;quot;1&amp;quot;:&lt;br /&gt;
        atlikti_testus(klausimai)&lt;br /&gt;
    elif pasirinkimas == &amp;quot;2&amp;quot;:&lt;br /&gt;
        rodyk_klausimus()&lt;br /&gt;
    elif pasirinkimas == &amp;quot;3&amp;quot;:&lt;br /&gt;
        meniu()&lt;br /&gt;
    print()&lt;br /&gt;
    pasirinkimas = input(&amp;quot;Pasirinkite savo parinktį iš aukščiau pateikto meniu: &amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Rekursinės funkcijos |next=Ciklai For}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/DUK&amp;diff=3928</id>
		<title>Python Vadovėlis/DUK</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/DUK&amp;diff=3928"/>
		<updated>2022-04-07T11:57:03Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėta informacija apie Angis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; Kaip galiu sukurti grafinę sąsają (angl. graphical user interface, GUI) su Python? : Gali naudoti vieną iš šių bibliotekų: [https://docs.python.org/3.5/library/tkinter.html TKinter], [https://riverbankcomputing.com/software/pyqt/intro PyQt], [https://wiki.gnome.org/Projects/PyGObject PyGobject]. Itin paprastai grafikai kurti, gali naudoti vėžliuko grafikos rėžimą &amp;lt;code&amp;gt;import turtle&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kaip galiu sukurti žaidimą su Python? : Savo žaidimą ar programėlę gali sukurti pasinaudodamas lietuviška platforma [https://angis.lrt.lt/ Angis]. Šiame puslapyje taip pat gali peržiūrėti nemokamas video pamokas ir spręsti pateiktas užduotis, taip pagerindamas savo programavimo žinias. Daugiau informacijos: https://wiki.angis.net. Kitas puikus būdas yra pasinaudoti angliška platforma [http://pygame.org PyGame].&lt;br /&gt;
; Kaip galiu sukurti vykdomąjį failą iš Python programos? : Trumpas atsakymas: Python yra interpretuojama kalba, todėl tai yra neįmanoma. Ilgas atsakymas: kažkas panašaus į vykdomąjį failą gali būti sukurta sujungiant Python interpretatorių su failu. Daugiau informacijos apie tai gali rasti šiame puslapyje http://www.python.org/doc/faq/programming/#how-can-i-create-a-stand-alone-binary-from-a-python-script&lt;br /&gt;
; Ką turėčiau daryti, jei turiu klausimų dėl vadovėlio arba radau jame klaidų? : Parašyk mums laišką elektroniniu paštu ''python.vadovelis@visma.com''.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Pabaiga |next=Terminai}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Funkcij%C5%B3_apibr%C4%97%C5%BEimas&amp;diff=3923</id>
		<title>Python Vadovėlis/Funkcijų apibrėžimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Funkcij%C5%B3_apibr%C4%97%C5%BEimas&amp;diff=3923"/>
		<updated>2022-04-06T18:24:21Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pataisymai pagal Martyno pastabas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Derinimas |next=Pažangių funkcijų pavyzdys}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Funkcijų kūrimas ===&lt;br /&gt;
Prieš pradėdami šį skyrių pateiksime tau pavyzdį, kurio gali nepersirašinėti:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
a = 23&lt;br /&gt;
b = -23&lt;br /&gt;
&lt;br /&gt;
if a &amp;lt; 0:&lt;br /&gt;
    a = -a&lt;br /&gt;
if b &amp;lt; 0:&lt;br /&gt;
    b = -b&lt;br /&gt;
if a == b:&lt;br /&gt;
    print(&amp;quot;Absoliučios&amp;quot;, a, &amp;quot;ir&amp;quot;, b, &amp;quot;reikšmės yra lygios.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Absoliučios&amp;quot;, a, &amp;quot;ir&amp;quot;, b, &amp;quot;reikšmės yra skirtingos.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programos rezultatas:&lt;br /&gt;
 &lt;br /&gt;
 Absoliučios 23 ir 23 reikšmės yra lygios.&lt;br /&gt;
&lt;br /&gt;
Ar neatrodo, kad programa yra šiek tiek pasikartojanti?.. Ir tikriausiai jau numanai, programuotojai nemėgsta pasikartojančių dalykų, nes juk pasikartojantiems dalykams atlikti ir yra sukurti kompiuteriai!! Be to atkreipk dėmesį, kad radus absoliučią reikšmę pasikeitė kintamojo vertė, todėl programa spausdina 23, o ne -23. Mūsų laimei Python'as leidžia sukurti funkcijas, kurios šalina dubliavimą:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
a = 23&lt;br /&gt;
b = -23&lt;br /&gt;
&lt;br /&gt;
def absoliuti_reikšmė(n):&lt;br /&gt;
    if n &amp;lt; 0:&lt;br /&gt;
        n = -n&lt;br /&gt;
    return n&lt;br /&gt;
&lt;br /&gt;
if absoliuti_reikšmė(a) == absoliuti_reikšmė(b):&lt;br /&gt;
    print(&amp;quot;Absoliučios&amp;quot;, a, &amp;quot;ir&amp;quot;, b, &amp;quot;reikšmės yra lygios.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Absoliučios&amp;quot;, a, &amp;quot;ir&amp;quot;, b, &amp;quot;reikšmės yra skirtingos.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programos rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Absoliučios 23 ir -23 reikšmės yra lygios.&lt;br /&gt;
&lt;br /&gt;
Pagrindinis naujai parašomos funkcijos elementas yra žodis &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt; yra angliško žodžio &amp;lt;code&amp;gt;define&amp;lt;/code&amp;gt;, kuris reiškia apibrėžti, trumpinys, o juo pradedame apibrėžti savo kuriamą funkciją. Po &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt; eina funkcijos pavadinimas: &amp;lt;code&amp;gt;absoliuti_reikšmė&amp;lt;/code&amp;gt;. Vėliau skliausteliuose eina parametras n - &amp;lt;code&amp;gt;(n)&amp;lt;/code&amp;gt;, kurio reikšmė yra nurodoma, kai funkcija yra iškviečiama. Vėliau eina dvitaškis &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;, po kurio esančios komandos yra vykdomos, kai iškviečiama vykdyti ši funkcija. Funkcijos komandos atitrauktos nuo krašto. Jos tęsiasi tol, kol pasibaigia funkcijoje nurodyti veiksmai arba grąžinamas norimas rezultatas nurodytas po &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt; komanda grąžina reikšmę į tą pačią vietą, kur buvo iškviesta funkcija. Mūsų pavyzdinėje programoje funkcija &amp;lt;code&amp;gt;absoliuti_reikšmė&amp;lt;/code&amp;gt; buvo iškviesta du kartus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sąlygos reiškinyje. pabandykime patyrinėti dar kelias naujas funkcijas.&lt;br /&gt;
&lt;br /&gt;
Ar pastebėjai, kad &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; reikšmės nepasikeitė?&lt;br /&gt;
&lt;br /&gt;
Funkcijos taip pat gali būti naudojamos vykdant užduotis, kurios negrąžina reikšmių. Štai keli pavyzdžiai, kuriuose skirtingai aprašomos funkcijos:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def labas():&lt;br /&gt;
    print(&amp;quot;Labas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def plotas(plotis, aukštis):&lt;br /&gt;
    return plotis * aukštis&lt;br /&gt;
&lt;br /&gt;
def rašyk_mano_vardas(vardas):&lt;br /&gt;
    print(&amp;quot;Mano vardas&amp;quot;, vardas)&lt;br /&gt;
&lt;br /&gt;
labas()&lt;br /&gt;
labas()&lt;br /&gt;
&lt;br /&gt;
rašyk_mano_vardas(&amp;quot;Benas&amp;quot;)&lt;br /&gt;
w = 4&lt;br /&gt;
h = 5&lt;br /&gt;
print(&amp;quot;plotis =&amp;quot;, w, &amp;quot; aukštis=&amp;quot;, h, &amp;quot; plotas=&amp;quot;, plotas(w, h))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
programos rezultatas&lt;br /&gt;
&lt;br /&gt;
 Labas&lt;br /&gt;
 Labas&lt;br /&gt;
 Mano vardas Benas&lt;br /&gt;
 plotis = 4  aukštis = 5  plotas = 20&lt;br /&gt;
&lt;br /&gt;
Šis pavyzdys parodo ir daugiau dalykų, kuriuos galima padaryti su funkcijomis. Atkreipk dėmesį, kad galima nenaudoti argumentų arba galima naudoti du argumentus, ar daugiau. Matome ir dar kelis svarbius dalykus, kuriuos gali padaryti naudojant funkcijas. Taip pat atkreipk dėmesį, kad ne kiekviena funkcija grąžina reikšmę – grąžinimas yra neprivalomas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Funkcijos gali būti naudojamos pakartotiniam kodui pašalinti. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kintamieji funkcijose ===&lt;br /&gt;
Dažnai pasitaiko, kad pasikartojančiam kode yra kintamųjų, todėl į juos reikia atkreipti dėmesį, kai šaliname pakartotiną kodą. Iki šiol visi kintamieji, kuriuos matėme buvo globalūs. Tokie kintamieji gali būti pasiekiami ir naudojami bet kurioje programos vietoje. Funkcijose esantys kintamieji yra vadinami specialiu pavadinimu - lokalūs kintamieji. Šie kintamieji egzistuoja tik veikiant funkcijai. Kai lokalus kintamasis turi globalaus kintamojo pavadinimą, tai funkcijoje pirmenybė teikiama ir naudojamas lokalus kintamasis. Skamba painiai? Štai keli pavyzdžiai:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 4&lt;br /&gt;
 &lt;br /&gt;
def manoFunkcija():&lt;br /&gt;
    a = 17&lt;br /&gt;
    print(&amp;quot;Mano funkcijoje a =&amp;quot;, a)&lt;br /&gt;
&lt;br /&gt;
manoFunkcija()&lt;br /&gt;
print(&amp;quot;a = &amp;quot;, a)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gaunamas rezultatas&lt;br /&gt;
 Mano funkcijoje a = 17&lt;br /&gt;
 a = 4&lt;br /&gt;
&lt;br /&gt;
Kaip matai pavyzdyje, funkcijos viduje esantis kintamasis nepaiso globalaus kintamojo, nes jis egzistuoja tik funkcijos viduje. Taip pat, turėjai pastebėti, kad funkcijos viduje kintamajam &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; buvo priskirta nauja reikšmė, bet ji buvo aktuali tik funkcijoje, o ne už jos ribų - globalus kintamasis &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; liko nepakitęs.&lt;br /&gt;
&lt;br /&gt;
Kitas kiek sudėtingesnis kodo pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
kintamasis_a = 10&lt;br /&gt;
kintamasis_b = 15&lt;br /&gt;
kintamasis_e = 25&lt;br /&gt;
&lt;br /&gt;
def funkcija(kintamasis_a):&lt;br /&gt;
    print(&amp;quot;funkcijoje kintamasis_a =&amp;quot;, kintamasis_a)&lt;br /&gt;
    kintamasis_b = 100 + kintamasis_a&lt;br /&gt;
    kintamasis_d = 2 * kintamasis_a&lt;br /&gt;
    print(&amp;quot;funkcijoje  kintamasis_b =&amp;quot;, kintamasis_b)&lt;br /&gt;
    print(&amp;quot;funkcijoje  kintamasis_d =&amp;quot;, kintamasis_d)&lt;br /&gt;
    print(&amp;quot;funkcijoje  kintamasis_e =&amp;quot;, kintamasis_e)&lt;br /&gt;
    return kintamasis_b + 10&lt;br /&gt;
&lt;br /&gt;
kintamasis_c = funkcija(kintamasis_b)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;kintamasis_a =&amp;quot;, kintamasis_a)&lt;br /&gt;
print(&amp;quot;kintamasis_b =&amp;quot;, kintamasis_b)&lt;br /&gt;
print(&amp;quot;kintamasis_c =&amp;quot;, kintamasis_c)&lt;br /&gt;
print(&amp;quot;kintamasis_d =&amp;quot;, kintamasis_d)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
rezultatas:&lt;br /&gt;
&lt;br /&gt;
 funkcijoje  kintamasis_a =  15&lt;br /&gt;
 funkcijoje  kintamasis_b =  115&lt;br /&gt;
 funkcijoje  kintamasis_d =  30&lt;br /&gt;
 funkcijoje  kintamasis_e =  25&lt;br /&gt;
 kintamasis_a =  10&lt;br /&gt;
 kintamasis_b =  15&lt;br /&gt;
 kintamasis_c =  125&lt;br /&gt;
 kintamasis_d = &lt;br /&gt;
 &lt;br /&gt;
 Klaida (paskutinė aptikta klaida):&lt;br /&gt;
  File &amp;quot;C:\def2.py&amp;quot;, eilutė 19, in &amp;lt;module&amp;gt; (modulyje)&lt;br /&gt;
    print(&amp;quot;kintamasis_d = &amp;quot;, kintamasis_d)&lt;br /&gt;
 NameError: pavadinimas 'kintamasis_d' yra neapibrėžtas&lt;br /&gt;
&lt;br /&gt;
Šiame pavyzdyje kintamieji &amp;lt;code&amp;gt;kintamasis_a&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;kintamasis_b&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;kintamasis_d&amp;lt;/code&amp;gt;, esantys funkcijos viduje, yra lokalūs kintamieji. Po paskutinės funkcijos eilutės &amp;lt;code&amp;gt;return kintamasis_b + 10&amp;lt;/code&amp;gt; įvykdymo, visi jie nustoja egzistuoti. Kintamasis &amp;lt;code&amp;gt;kintamasis_a&amp;lt;/code&amp;gt; yra parametro pavadinimas, todėl tai jį automatiškai padaro lokaliu kintamuoju. Kintamieji &amp;lt;code&amp;gt;kintamasis_b&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;kintamasis_d&amp;lt;/code&amp;gt; yra lokalūs kintamieji, nes jie rodomi funkcijos lygybės ženklo kairėje pusėje esančiuose teiginiuose &amp;lt;code&amp;gt;kintamasis_b = 100 + kintamasis_a&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;kintamasis_d = 2 * kintamasis_a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Kai funkcija iškviečiama naudojant &amp;lt;code&amp;gt;kintamasis_c = funkcija(kintamasis_b)&amp;lt;/code&amp;gt;, 15 priskiriama kintamajam &amp;lt;code&amp;gt;kintamasis_a&amp;lt;/code&amp;gt;, nes tuo metu, kai kviečiama funkcija &amp;lt;code&amp;gt;funkcija(kintamasis_b)&amp;lt;/code&amp;gt;, globalaus &amp;lt;code&amp;gt;kintamasis_b&amp;lt;/code&amp;gt; reikšmė yra 15. Taigi &amp;lt;code&amp;gt;kintamasis_a&amp;lt;/code&amp;gt; reikšmė nustatoma į 15, kai jis yra funkcijos &amp;lt;code&amp;gt;funkcija()&amp;lt;/code&amp;gt; viduje.&lt;br /&gt;
&lt;br /&gt;
Kaip matai, pasibaigus funkcijai, lokalūs kintamieji &amp;lt;code&amp;gt;kintamasis_a&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;kintamasis_b&amp;lt;/code&amp;gt;, kurie buvo naudojami funkcijos viduje, dingo. Tad komanda &amp;lt;code&amp;gt;print (&amp;quot;kintamasis_a =&amp;quot;, kintamasis_a)&amp;lt;/code&amp;gt; atspausdina reikšmę &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;, t. y. globaliojo kintamojo &amp;lt;code&amp;gt;kintamasis_a&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
&lt;br /&gt;
Taip pat, atkreipk dėmesį į klaidą &amp;lt;code&amp;gt; NameError &amp;lt;/code&amp;gt;, kuri atsiranda mūsų programos pabaigoje. Tai nutinka, nes kintamasis &amp;lt;code&amp;gt;kintamasis_d&amp;lt;/code&amp;gt; nebeegzistuoja nuo tada, kai baigėsi &amp;lt;code&amp;gt;funkcija()&amp;lt;/code&amp;gt;. Pasibaigus funkcijai, visi lokalūs kintamieji ištrinami. Jeigu nori, ką nors gauti iš funkcijos, turėsi naudoti komandą &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Paskutinis dalykas, į kurį reikia atkreipti dėmesį, yra tai, kad funkcijos viduje &amp;lt;code&amp;gt;kintamasis_e&amp;lt;/code&amp;gt; reikšmė išlieka nepakitusi, nes tai nėra nei parametras, nei lokalus kintamasis – jis niekada nerodomas kairėje lygybės pusėje. Kai funkcijos viduje kreipiamasi į globalų kintamąjį, tai jis naudoja reikšmę, įgytą už funkcijos ribų.&lt;br /&gt;
&lt;br /&gt;
Funkcijos naudoja lokalius kintamuosius, kurie egzistuoja tik funkcijos viduje, ir gali ignoruoti kitus kintamuosius, kurie yra už funkcijos ribų.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
'''temperatūra2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#! /usr/bin/python&lt;br /&gt;
#-*-coding: utf-8 -*-&lt;br /&gt;
# konvertuoja temperatūrą į Farenheitus ar Celsijų&lt;br /&gt;
 &lt;br /&gt;
def spausdinti_pasirinkimus():&lt;br /&gt;
    print(&amp;quot;Pasirinkimai:&amp;quot;)&lt;br /&gt;
    print(&amp;quot; 's' spausdinti pasirinkimus&amp;quot;)&lt;br /&gt;
    print(&amp;quot; 'c' konvertuoti iš Celsijaus&amp;quot;)&lt;br /&gt;
    print(&amp;quot; 'f' konvertuoti iš Farenheitų&amp;quot;)&lt;br /&gt;
    print(&amp;quot; 'i' išjungti programą&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
def celsijus_į_farenheitus(c_temp):&lt;br /&gt;
    return 9.0 / 5.0 * c_temp + 32&lt;br /&gt;
 &lt;br /&gt;
def farenheitai_į_celsijų(f_temp):&lt;br /&gt;
    return (f_temp - 32.0) * 5.0 / 9.0&lt;br /&gt;
 &lt;br /&gt;
pasirinkimas = &amp;quot;s&amp;quot;&lt;br /&gt;
while pasirinkimas != &amp;quot;i&amp;quot;:&lt;br /&gt;
    if pasirinkimas == &amp;quot;c&amp;quot;:&lt;br /&gt;
        c_temp = float(input(&amp;quot;Celsijaus temperatūra: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Farenheitai:&amp;quot;, celsijus_į_farenheitus(c_temp))&lt;br /&gt;
        pasirinkimas = input(&amp;quot;pasirinkimas: &amp;quot;)&lt;br /&gt;
    elif pasirinkimas == &amp;quot;f&amp;quot;:&lt;br /&gt;
        f_temp = float(input(&amp;quot;farenheitai_į_celsijų: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Celsijus:&amp;quot;, farenheitai_į_celsijų(f_temp))&lt;br /&gt;
        pasirinkimas= input(&amp;quot;pasirinkimas: &amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        pasirinkimas= &amp;quot;s&amp;quot;    #Arba pasirinkimas! = &amp;quot;i&amp;quot;: kad spausdintų&lt;br /&gt;
                        #kai įrašoma, kas nors netikėto&lt;br /&gt;
        spausdinti_pasirinkimus()&lt;br /&gt;
        pasirinkimas = input(&amp;quot;pasirinkimas: &amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kaip tai veikia?:&lt;br /&gt;
&lt;br /&gt;
 Pasirinkimai:&lt;br /&gt;
  's' spausdinti pasirinkimus&lt;br /&gt;
  'c' konvertuoti iš Celsijaus&lt;br /&gt;
  'f' konvertuoti iš Farenheitų&lt;br /&gt;
  'i' išjungti programą&lt;br /&gt;
 pasirinkimas: '''c'''&lt;br /&gt;
 Celsijaus temperatūra: '''30''' &lt;br /&gt;
 Farenheitai: 86.0&lt;br /&gt;
 pasirinkimas: '''f'''&lt;br /&gt;
 Farenheitų temperatūra: '''60'''&lt;br /&gt;
 Celsijus: 15.5555555556&lt;br /&gt;
 pasirinkimas: '''i'''&lt;br /&gt;
&lt;br /&gt;
'''plotas2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#! /usr/bin/python&lt;br /&gt;
#-*-coding: utf-8 -*-&lt;br /&gt;
# apskaičiuoja duotą stačiakampio plotą&lt;br /&gt;
&lt;br /&gt;
def pasisveikinimas():&lt;br /&gt;
    print('Labas!')&lt;br /&gt;
 &lt;br /&gt;
def plotas(plotis, aukštis):&lt;br /&gt;
    return plotis * aukštis&lt;br /&gt;
 &lt;br /&gt;
def mano_vardas(vardas):&lt;br /&gt;
    print('Mano vardas yra,', vardas)&lt;br /&gt;
 &lt;br /&gt;
def teigiama_įvestis(sugalvotas_skaičius):&lt;br /&gt;
    skaičius = float(input(sugalvotas_skaičius))&lt;br /&gt;
    while skaičius&amp;lt;= 0:&lt;br /&gt;
        print('Privalo būti teigiamas skaičius')&lt;br /&gt;
        skaičius = float(input(sugalvotas_skaičius))&lt;br /&gt;
    return skaičius&lt;br /&gt;
 &lt;br /&gt;
vardas = input('Tavo vardas: ')&lt;br /&gt;
pasisveikinimas()&lt;br /&gt;
mano_vardas(name)&lt;br /&gt;
print()&lt;br /&gt;
print('Kad rastum stačiakampio plotą,')&lt;br /&gt;
print('įrašyk plotį ir aukštį')&lt;br /&gt;
print()&lt;br /&gt;
w = teigiama_įvestis('Plotis: ')&lt;br /&gt;
h = teigiama_įvestis('Aukštis: ')&lt;br /&gt;
 &lt;br /&gt;
print('Plotis =', w, ' Aukštis =', h, ' Plotas =', area(w, h))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kaip veikia ši programa?&lt;br /&gt;
&lt;br /&gt;
 Tavo vardas: '''Benas'''&lt;br /&gt;
 Labas!&lt;br /&gt;
 Mano vardas yra Benas&lt;br /&gt;
 &lt;br /&gt;
 Kad rastum stačiakampio plotą,&lt;br /&gt;
 įrašyk plotį ir aukštį.&lt;br /&gt;
 &lt;br /&gt;
 Plotis: '''-4'''&lt;br /&gt;
 Privalo būti teigiamas skaičius&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis = 4  Aukštis = 3  Plotas = 12&lt;br /&gt;
&lt;br /&gt;
=== Užduotis ===&lt;br /&gt;
Perrašyk programą plotas2.py, kuri yra aukščiau pateiktame pavyzdyje, taip, kad būtų parašytos atskiros kvadrato, stačiakampio ir apskritimo ploto funkcijos ((&amp;lt;code&amp;gt;3.14 * spindulys**2&amp;lt;/code&amp;gt;). Taip pat šioje programoje turėtų būti sukurtas toks pasirinkimų meniu:&lt;br /&gt;
&lt;br /&gt;
  Pasirinkimai:&lt;br /&gt;
   s = skaičiuoti kvadrato plotą.&lt;br /&gt;
   c = skaičiuoti apskritimo plotą.&lt;br /&gt;
   r = skaičiuoti stačiakampio plotą.&lt;br /&gt;
   q = išeiti.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def kvadratas(L):&lt;br /&gt;
    return L * L&lt;br /&gt;
&lt;br /&gt;
def stačiakampis(aukštis, plotis):&lt;br /&gt;
    return aukštis * plotis&lt;br /&gt;
&lt;br /&gt;
def apskritimas(spindulys):&lt;br /&gt;
    return 3.14159 * spindulys** 2&lt;br /&gt;
&lt;br /&gt;
def parinktys():&lt;br /&gt;
    print()&lt;br /&gt;
    print(&amp;quot;Pasirinkimai:&amp;quot;)&lt;br /&gt;
    print(&amp;quot;s = skaičiuoti kvadrato plotą.&amp;quot;)&lt;br /&gt;
    print(&amp;quot;c = skaičiuoti apskritimo plotą.&amp;quot;)&lt;br /&gt;
    print(&amp;quot;r = skaičiuoti stačiakampio plotą.&amp;quot;)&lt;br /&gt;
    print(&amp;quot;q = išeiti&amp;quot;)&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa apskaičiuos kvadrato, apskritimo ar stačiakampio plotą.&amp;quot;)&lt;br /&gt;
pasirinkimas = &amp;quot;x&amp;quot;&lt;br /&gt;
parinktys()&lt;br /&gt;
while pasirinkimas != &amp;quot;q&amp;quot;:&lt;br /&gt;
    choice = input(&amp;quot;Įrašyk savo pasirinkimą: &amp;quot;)&lt;br /&gt;
    if pasirinkimas== &amp;quot;s&amp;quot;:&lt;br /&gt;
        L = float(input(&amp;quot;Kvadrato kraštinės ilgis: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Šio kvadrato plotas&amp;quot;, kvadratas(L))&lt;br /&gt;
        parinktys()&lt;br /&gt;
    elif pasirinkimas == &amp;quot;c&amp;quot;:&lt;br /&gt;
        spindulys = float(input(&amp;quot;Apskritimo spindulys yra: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Apskritimo plotas yra&amp;quot;, apskritimas(spindulys))&lt;br /&gt;
        parinktys()&lt;br /&gt;
    elif pasirinkimas == &amp;quot;r&amp;quot;:&lt;br /&gt;
        plotis = float(input(&amp;quot;Stačiakampio plotis: &amp;quot;))&lt;br /&gt;
        aukštis = float(input(&amp;quot;Stačiakampio aukštis: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Stačiakampio plotas yra&amp;quot;, kvadratas(plotis, aukštis))&lt;br /&gt;
        parinktys()&lt;br /&gt;
    elif pasirinkimas == &amp;quot;q&amp;quot;:&lt;br /&gt;
        print(&amp;quot; &amp;quot;,end=&amp;quot;&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neatpažintas pasirinkimas.&amp;quot;)&lt;br /&gt;
        parinktys()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Derinimas |next=Pažangių funkcijų pavyzdys}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Kas_%C4%8Dia_eina%3F&amp;diff=3922</id>
		<title>Python Vadovėlis/Kas čia eina?</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Kas_%C4%8Dia_eina%3F&amp;diff=3922"/>
		<updated>2022-04-06T18:10:43Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išverstas &amp;quot;Python shell&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Labas, Pasauli |next=Suskaičiuoti iki 10}}&lt;br /&gt;
{{BookCat}}&lt;br /&gt;
&lt;br /&gt;
=== Įvestis ir kintamieji ===&lt;br /&gt;
Jaučiu, kad atėjo laikas tikrai sudėtingai programai. Štai ji:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Stop!&amp;quot;)&lt;br /&gt;
vartotojo_įvestis = input(&amp;quot;Kas čia eina? &amp;quot;)&lt;br /&gt;
print(&amp;quot;Gali praeiti,&amp;quot;,  vartotojo_įvestis )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kai '''aš''' paleidau programą, štai ką '''mano''' ekranas parodė:&lt;br /&gt;
&lt;br /&gt;
 Stop!&lt;br /&gt;
 Kas čia eina? '''Benas'''&lt;br /&gt;
 Gali praeiti, Benas&lt;br /&gt;
&lt;br /&gt;
''Pastaba: Jei paleisi kodą spausdamas &amp;quot;F5&amp;quot;, Python išvestis bus tik tokia:''&lt;br /&gt;
&lt;br /&gt;
 Stop!&lt;br /&gt;
 Kas čia eina?&lt;br /&gt;
&lt;br /&gt;
''Tu turi įvesti savo vardą į Python [http://www.ims.mii.lt/EK%C5%BD/enciklo.html?word=apvalkalas apvalkalą] ir tada paspausti enter norėdama/s pamatyt likusį tekstą.''&lt;br /&gt;
&lt;br /&gt;
Žinoma, kai tu paleisi programą, tavo ekranas atrodys kitaip dėl &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt; užklausos.&lt;br /&gt;
Kai paleidai programą (juk paleidai, tiesa?), tu turėjai surinkti savo vardą ir tada paspausti Enter.&lt;br /&gt;
Programa atspausdino dalį teksto ir tavo vardą. Taip atrodo ''įvesties'' pavyzdys.&lt;br /&gt;
Programa pasiekia tam tikrą kodo tašką ir laukia vartotojo įvesties, kad duomenis galėtų panaudoti tolimesniuose procesuose.&lt;br /&gt;
&lt;br /&gt;
Žinoma, gauti informaciją iš vartotojo pasaulio nieko verta, jei tos informacijos nėra kur padėti. Ir šioje vietoje atsiranda kintamieji.  &lt;br /&gt;
&lt;br /&gt;
Pavyzdinėje programoje &amp;lt;code&amp;gt;vartotojo_įvestis&amp;lt;/code&amp;gt; yra ''kintamasis''. Kintamieji yra kaip dėžės, į kurias galima įdėti norimas informacijos dalis.  &lt;br /&gt;
&lt;br /&gt;
Štai programa, parodanti kintamųjų pavyzdžius:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 123.4&lt;br /&gt;
b23 = 'Šlamštas'&lt;br /&gt;
vardas = &amp;quot;Benas&amp;quot;&lt;br /&gt;
b = 432&lt;br /&gt;
c = a + b&lt;br /&gt;
print(&amp;quot;a + b yra&amp;quot;, c)&lt;br /&gt;
print(&amp;quot;vardas yra&amp;quot;, vardas)&lt;br /&gt;
print(&amp;quot;Rūšiuotos dalys, Po vidurnakčio ar&amp;quot;, b23)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai kokia išvestis:&lt;br /&gt;
&lt;br /&gt;
 a + b yra 555.4&lt;br /&gt;
 vardas yra Benas&lt;br /&gt;
 Rūšiuotos dalys, Po vidurnakčio ar Šlamštas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kintamieji laiko duomenis. Viršuje aprašytoje programoje kintamieji yra &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b23&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;. Pagrindiniai du kintamųjų tipai yra ''tekstas'' ir ''skaičius''. Tekstas yra raidžių, skaičių ir kitų simbolių seka. Šiame pavyzdyje &amp;lt;code&amp;gt;b23&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt; yra tekstinio tipo kintamieji. &amp;lt;code&amp;gt;Šlamštas&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Benas&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a + b yra&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vardas yra&amp;lt;/code&amp;gt;, ir &amp;lt;code&amp;gt;Rūšiuotos dalys, Po vidurnakčio ar&amp;lt;/code&amp;gt; šioje programoje yra tiesiog tekstinės reikšmės. Paprastas tekstas yra apsuptas kabučių &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;'&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Kitas kintamojo tipas yra skaičius. Atkreipkite dėmesį, kad kintamieji, kurie naudojami saugoti reikšmes, nenaudoja kabučių (&amp;quot; ir '). Jei norite naudoti realias ''reikšmes'', privalote naudoti kabutes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
reikšmė1 == Oho&lt;br /&gt;
reikšmė2 == &amp;quot;Oho&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abu pavyzdžiai atrodo vienodai, bet pirmu atveju Python tikrins ar reikšmė, patalpinta kintamajame &amp;lt;code&amp;gt;reikšmė1&amp;lt;/code&amp;gt;, yra tokia pati kaip ''kintamojo'' &amp;lt;code&amp;gt;Oho&amp;lt;/code&amp;gt;. Antrame pavyzdyje Python tikrins ar tekstas (konkrečios raidės &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;) yra tokios pat kaip ir &amp;lt;code&amp;gt;reikšmė2&amp;lt;/code&amp;gt; (toliau daugiau paaiškinsiu apie tekstą ir &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Priskyrimai ===&lt;br /&gt;
&lt;br /&gt;
Gerai, dabar mes turime dėžutes, pavadintas kintamaisiais, taip pat informaciją, kuri gali būti kintamajame. Kompiuteris pamatys tokią eilutę &amp;lt;code&amp;gt;vardas = &amp;quot;Benas&amp;quot;&amp;lt;/code&amp;gt; ir perskaitys ją kaip &amp;quot;Padėk tekstą &amp;lt;code&amp;gt;Benas&amp;lt;/code&amp;gt; į dėžę (ar kintamąjį) &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt;&amp;quot;. Vėliau, pamatęs sakinį &amp;lt;code&amp;gt;c = a + b&amp;lt;/code&amp;gt; jį perskaitys kaip &amp;quot;padėt sumą &amp;lt;code&amp;gt;a + b&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;123.4 + 432&amp;lt;/code&amp;gt;, kas lygu &amp;lt;code&amp;gt;555.4&amp;lt;/code&amp;gt;, į &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&amp;quot;. Dešinė sakinio pusė ''konvertuosis'' ir rezultatas bus padėtas į kintamajį kairėje pusėje (&amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;). Tai yra vadinama ''priskyrimu''. Turėtume nemaišyti priskyrimo ir matematinio lygybės ženklo (&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;). Ką reiškia &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; aptarsime vėliau.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O štai ir kitas kintamųjų naudojimo pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 1&lt;br /&gt;
print(a)&lt;br /&gt;
a = a + 1&lt;br /&gt;
print(a)&lt;br /&gt;
a = a * 2&lt;br /&gt;
print(a)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir žinoma štai tokį rezultatą gausime:&lt;br /&gt;
&lt;br /&gt;
 1&lt;br /&gt;
 2&lt;br /&gt;
 4&lt;br /&gt;
&lt;br /&gt;
Net jei kintamieji yra abiejose lygybės pusėse (pavyzdžiui šlamštas = šlamštas), kompiuteris vis tiek perskaitys taip: &amp;quot;Pirmiausia surask informaciją, kuri patalpinta ir tada surask, kur ją padėti&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dar viena programa prieš man pabangiant šį skyrių:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaičius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
sveikasSkaičius = int(input(&amp;quot;Įvesk sveiką skaičių: &amp;quot;))&lt;br /&gt;
tekstas = input(&amp;quot;Įvesk tekstą: &amp;quot;)&lt;br /&gt;
print(&amp;quot;skaičius =&amp;quot;, skaičius)&lt;br /&gt;
print(&amp;quot;skaičius yra&amp;quot;, type(skaičius))&lt;br /&gt;
print(&amp;quot;skaičius * 2 =&amp;quot;, skaičius * 2)&lt;br /&gt;
print(&amp;quot;sveikas skaičius =&amp;quot;, sveikasSkaičius)&lt;br /&gt;
print(&amp;quot;sveikas skaičius yra&amp;quot;, type(sveikasSkaičius))&lt;br /&gt;
print(&amp;quot;sveikasSkaičius * 2 =&amp;quot;, sveikasSkaičius * 2)&lt;br /&gt;
print(&amp;quot;tekstas =&amp;quot;, tekstas)&lt;br /&gt;
print(&amp;quot;tekstas yra&amp;quot;, type(tekstas))&lt;br /&gt;
print(&amp;quot;tekstas * 2 =&amp;quot;, tekstas * 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Įvesk skaičių: '''12.34'''&lt;br /&gt;
 Įvesk sveiką skaičių: '''-3'''&lt;br /&gt;
 Įvesk tekstą: '''Labas'''&lt;br /&gt;
 skaičius = 12.34&lt;br /&gt;
 skaičius yra &amp;lt;class 'float'&amp;gt;&lt;br /&gt;
 skaičius * 2 = 24.68&lt;br /&gt;
 sveikas skaičius = -3&lt;br /&gt;
 sveikas skaičius yra &amp;lt;class 'int'&amp;gt;&lt;br /&gt;
 sveikasSkaičius * 2 = -6&lt;br /&gt;
 tekstas = Labas&lt;br /&gt;
 tekstas yra &amp;lt;class 'str'&amp;gt;&lt;br /&gt;
 tekstas * 2 = LabasLabas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad kintamasis &amp;lt;code&amp;gt;skaičius&amp;lt;/code&amp;gt; buvo sukurtas su &amp;lt;code&amp;gt;float(input())&amp;lt;/code&amp;gt;, išsaugos, o vėliau atspausdins tokį skaičių, koks buvo įvestas – su kableliu. Kintamasis &amp;lt;code&amp;gt;sveikasSkaičius&amp;lt;/code&amp;gt;, kuris buvo sukurtas su &amp;lt;code&amp;gt;int(input())&amp;lt;/code&amp;gt;, grąžina sveiką skaičių – reikšmę be kablelio. Tuo tarpu &amp;lt;code&amp;gt;tekstas&amp;lt;/code&amp;gt;, kuris buvo sukurtas su &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt;, grąžino tekstinę eilutę (gali būti aprašoma ir &amp;lt;code&amp;gt;str(input())&amp;lt;/code&amp;gt;). Jei tu nori, kad vartotojas įvestų skaičių su kableliu, naudok &amp;lt;code&amp;gt;float(input())&amp;lt;/code&amp;gt; kintamojo tipą. Jei nori, kad vartotojas įvestų sveiką skaičių, naudok &amp;lt;code&amp;gt;int(input())&amp;lt;/code&amp;gt; (jeigu vartotojas įves skaičių su kabliu – dalį po kabelio programa tiesiog ignoruos), bet jei nori teksto – naudok &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Antra pusė programos naudoja &amp;lt;code&amp;gt;type()&amp;lt;/code&amp;gt; funkciją, kuri nusako, kokio tipo kintamasis yra. Skaičius yra &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; tipo. Tai yra angliškų žodžių ''integer'' (sveikas skaičius) ir ''floating point'' (slankusis kablelis, naudojamas daugiausiai skaičiams su kableliu) trumpiniai. Tekstinė eilutė yra &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;, trumpinys ''string'' (tekstinė eilutė). Sveiki skaičiai ir slankusis kablelis gali būti naudojami matematinėms funkcijoms, tekstas – ne. Atkreipk dėmesį, kai Python'as daugina skaičių iš sveiko skaičiaus gaunamas rezultatas, kurio ir galima tikėtis, tačiau jei tekstas padauginamas iš sveiko skaičiaus – sukuriamos kelios teksto kopijos (pavyzdžiui, &amp;lt;code&amp;gt;tekstas * 2 = LabasLabas&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tos pačios operacijos su teksto tipu daro kitokius dalykus nei su skaičiais. Taip pat, kai kurios operacijos veikia tik su skaičiais ir grąžina klaidą, jei bus bandoma panaudoti tesktą. Štai keletas interaktyvių pavyzdžių:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;Čia&amp;quot; + &amp;quot; &amp;quot; + &amp;quot;yra&amp;quot; + &amp;quot; junginys.&amp;quot;)&lt;br /&gt;
Čia yra junginys.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;Ha, &amp;quot; * 5)&lt;br /&gt;
Ha, Ha, Ha, Ha, Ha, &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;Ha, &amp;quot; * 5 + &amp;quot;ha!&amp;quot;)&lt;br /&gt;
Ha, Ha, Ha, Ha, Ha, ha!&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(3 - 1)&lt;br /&gt;
2&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;3&amp;quot; - &amp;quot;1&amp;quot;)&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;&amp;lt;string&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;&lt;br /&gt;
TypeError: unsupported operand type(s) for -: 'str' and 'str'&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai sąrašas kelių operacijų su tekstu:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Operacija&lt;br /&gt;
!Symbolis &lt;br /&gt;
!Pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
|Pakartojimas&lt;br /&gt;
|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; &lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;i&amp;quot; * 5 == &amp;quot;iiiii&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Sujungimas&lt;br /&gt;
|&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; &lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;Hello, &amp;quot; + &amp;quot;World!&amp;quot; == &amp;quot;Hello, World!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&lt;br /&gt;
'''Laikas.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# ši programa apskaičiuoja laiko priklausomybę nuo greičio ir atstumo&lt;br /&gt;
print(&amp;quot;Įvesk greitį ir atstumą&amp;quot;)&lt;br /&gt;
greitis = float(input(&amp;quot;Greitis: &amp;quot;))&lt;br /&gt;
atstumas = float(input(&amp;quot;Atstumas: &amp;quot;))&lt;br /&gt;
laikas = (atstumas / greitis)&lt;br /&gt;
print(&amp;quot;Laikas:&amp;quot;, laikas)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Įvesk greitį ir atstumą&lt;br /&gt;
 Greitis: '''5'''&lt;br /&gt;
 Atstumas: '''10'''&lt;br /&gt;
 Laikas: 2.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk greitį ir atstumą&lt;br /&gt;
 Greitis: '''3.52'''&lt;br /&gt;
 Atstumas: '''45.6'''&lt;br /&gt;
 Laikas: 12.9545454545&lt;br /&gt;
&lt;br /&gt;
'''Plotas.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa apskaičiuoja stačiakampio perimetrą ir plotą &lt;br /&gt;
print(&amp;quot;Įveskite stačiakampio informaciją&amp;quot;)&lt;br /&gt;
ilgis = float(input(&amp;quot;Ilgis: &amp;quot;))&lt;br /&gt;
plotis = float(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
perimetras = (2 * ilgis + 2 * plotis) &lt;br /&gt;
print(&amp;quot;Plotas:&amp;quot;, ilgis * plotis)&lt;br /&gt;
print(&amp;quot;Perimetras:&amp;quot;, perimetras)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdžio rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Įveskite stačiakampio informaciją&lt;br /&gt;
 Ilgis: '''4'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Plotas: 12.0&lt;br /&gt;
 Perimetras: 14.0&lt;br /&gt;
&lt;br /&gt;
 Įveskite stačiakampio informaciją&lt;br /&gt;
 Ilgis: '''2.53'''&lt;br /&gt;
 Plotis: '''5.2'''&lt;br /&gt;
 Plotas: 13.156&lt;br /&gt;
 Perimetras: 15.46&lt;br /&gt;
&lt;br /&gt;
'''temperatura.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa konvertuoja temperatūra iš Farenheitų į Celsijų&lt;br /&gt;
far_temp = float(input(&amp;quot;Temperatūra Farenheitais: &amp;quot;))&lt;br /&gt;
cels_temp = (far_temp - 32.0) * (5.0 / 9.0)&lt;br /&gt;
print(&amp;quot;Temperatūra Celsijaus laipsniais:&amp;quot;, cels_temp )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdžio rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''32'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: 0.0&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''-40'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: -40.0&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''212'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: 100.0&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''98.6'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: 37.0&lt;br /&gt;
&lt;br /&gt;
=== Užduotis ===&lt;br /&gt;
Parašyti programą, kuri priima 2 tekstines reikšmes ir 2 skaičius iš vartotojo įvesties, sujungia tekstus be tarpų ir atvaizduoja gautą rezultatą, o tada sudaugina du skaičius ir atvaizduoja naujoje eilutėje.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;  &lt;br /&gt;
tekstas1 = input('Tekstas 1: ')&lt;br /&gt;
tekstas2 = input('Tekstas 2: ')&lt;br /&gt;
skaičius1 = float(input('Skaičius 1: '))&lt;br /&gt;
skaičius2 = float(input('Skaičius 2: '))&lt;br /&gt;
print(tekstas1 + tekstas2)&lt;br /&gt;
print(skaičius1 * skaičius2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Labas, Pasauli |next=Suskaičiuoti iki 10}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/DUK&amp;diff=3921</id>
		<title>Python Vadovėlis/DUK</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/DUK&amp;diff=3921"/>
		<updated>2022-04-06T18:08:05Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėtas el. pašto adresas.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; Kaip galiu sukurti grafinę sąsają (angl. graphical user interface, GUI) su Python? : Gali naudoti vieną iš šių bibliotekų: [https://docs.python.org/3.5/library/tkinter.html TKinter], [https://riverbankcomputing.com/software/pyqt/intro PyQt], [https://wiki.gnome.org/Projects/PyGObject PyGobject]. Itin paprastai grafikai kurti, gali naudoti vėžliuko grafikos rėžimą &amp;lt;code&amp;gt;import turtle&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kaip galiu sukurti žaidimą su Python? : Turbūt geriausias būdas yra naudoti PyGame, kuris pasiekiamas šia nuoroda: http://pygame.org/&lt;br /&gt;
; Kaip galiu sukurti vykdomąjį failą iš Python programos? : Trumpas atsakymas: Python yra interpretuojama kalba, todėl tai yra neįmanoma. Ilgas atsakymas: kažkas panašaus į vykdomąjį failą gali būti sukurta sujungiant Python interpretatorių su failu. Daugiau informacijos apie tai gali rasti šiame puslapyje http://www.python.org/doc/faq/programming/#how-can-i-create-a-stand-alone-binary-from-a-python-script&lt;br /&gt;
; Ką turėčiau daryti, jei turiu klausimų dėl vadovėlio arba radau jame klaidų? : Parašyk mums laišką elektroniniu paštu ''python.vadovelis@visma.com''.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Pabaiga |next=Terminai}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Kas_%C4%8Dia_eina%3F&amp;diff=3903</id>
		<title>Python Vadovėlis/Kas čia eina?</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Kas_%C4%8Dia_eina%3F&amp;diff=3903"/>
		<updated>2022-03-15T16:12:09Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Labas, Pasauli |next=Suskaičiuoti iki 10}}&lt;br /&gt;
{{BookCat}}&lt;br /&gt;
&lt;br /&gt;
=== Įvestis ir kintamieji ===&lt;br /&gt;
Jaučiu, kad atėjo laikas tikrai sudėtingai programai. Štai ji:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Stop!&amp;quot;)&lt;br /&gt;
vartotojo_įvestis = input(&amp;quot;Kas čia eina? &amp;quot;)&lt;br /&gt;
print(&amp;quot;Gali praeiti,&amp;quot;,  vartotojo_įvestis )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kai '''aš''' paleidau programą, štai ką '''mano''' ekranas parodė:&lt;br /&gt;
&lt;br /&gt;
 Stop!&lt;br /&gt;
 Kas čia eina? '''Benas'''&lt;br /&gt;
 Gali praeiti, Benas&lt;br /&gt;
&lt;br /&gt;
''Pastaba: Jei paleisi kodą spausdamas &amp;quot;F5&amp;quot;, Python išvestis bus tik tokia:''&lt;br /&gt;
&lt;br /&gt;
 Stop!&lt;br /&gt;
 Kas čia eina?&lt;br /&gt;
&lt;br /&gt;
''Tu turi įvesti savo vardą į Python shell ir tada paspausti enter norėdama/s pamatyt likusį tekstą.''&lt;br /&gt;
&lt;br /&gt;
Žinoma, kai tu paleisi programą, tavo ekranas atrodys kitaip dėl &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt; užklausos.&lt;br /&gt;
Kai paleidai programą (juk paleidai, tiesa?), tu turėjai surinkti savo vardą ir tada paspausti Enter.&lt;br /&gt;
Programa atspausdino dalį teksto ir tavo vardą. Taip atrodo ''įvesties'' pavyzdys.&lt;br /&gt;
Programa pasiekia tam tikrą kodo tašką ir laukia vartotojo įvesties, kad duomenis galėtų panaudoti tolimesniuose procesuose.&lt;br /&gt;
&lt;br /&gt;
Žinoma, gauti informaciją iš vartotojo pasaulio nieko verta, jei tos informacijos nėra kur padėti. Ir šioje vietoje atsiranda kintamieji.  &lt;br /&gt;
&lt;br /&gt;
Pavyzdinėje programoje &amp;lt;code&amp;gt;vartotojo_įvestis&amp;lt;/code&amp;gt; yra ''kintamasis''. Kintamieji yra kaip dėžės, į kurias galima įdėti norimas informacijos dalis.  &lt;br /&gt;
&lt;br /&gt;
Štai programa, parodanti kintamųjų pavyzdžius:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 123.4&lt;br /&gt;
b23 = 'Šlamštas'&lt;br /&gt;
vardas = &amp;quot;Benas&amp;quot;&lt;br /&gt;
b = 432&lt;br /&gt;
c = a + b&lt;br /&gt;
print(&amp;quot;a + b yra&amp;quot;, c)&lt;br /&gt;
print(&amp;quot;vardas yra&amp;quot;, vardas)&lt;br /&gt;
print(&amp;quot;Rūšiuotos dalys, Po vidurnakčio ar&amp;quot;, b23)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai kokia išvestis:&lt;br /&gt;
&lt;br /&gt;
 a + b yra 555.4&lt;br /&gt;
 vardas yra Benas&lt;br /&gt;
 Rūšiuotos dalys, Po vidurnakčio ar Šlamštas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kintamieji laiko duomenis. Viršuje aprašytoje programoje kintamieji yra &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b23&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;. Pagrindiniai du kintamųjų tipai yra ''tekstas'' ir ''skaičius''. Tekstas yra raidžių, skaičių ir kitų simbolių seka. Šiame pavyzdyje &amp;lt;code&amp;gt;b23&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt; yra tekstinio tipo kintamieji. &amp;lt;code&amp;gt;Šlamštas&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Benas&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a + b yra&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vardas yra&amp;lt;/code&amp;gt;, ir &amp;lt;code&amp;gt;Rūšiuotos dalys, Po vidurnakčio ar&amp;lt;/code&amp;gt; šioje programoje yra tiesiog tekstinės reikšmės. Paprastas tekstas yra apsuptas kabučių &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;'&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Kitas kintamojo tipas yra skaičius. Atkreipkite dėmesį, kad kintamieji, kurie naudojami saugoti reikšmes, nenaudoja kabučių (&amp;quot; ir '). Jei norite naudoti realias ''reikšmes'', privalote naudoti kabutes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
reikšmė1 == Oho&lt;br /&gt;
reikšmė2 == &amp;quot;Oho&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abu pavyzdžiai atrodo vienodai, bet pirmu atveju Python tikrins ar reikšmė, patalpinta kintamajame &amp;lt;code&amp;gt;reikšmė1&amp;lt;/code&amp;gt;, yra tokia pati kaip ''kintamojo'' &amp;lt;code&amp;gt;Oho&amp;lt;/code&amp;gt;. Antrame pavyzdyje Python tikrins ar tekstas (konkrečios raidės &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;) yra tokios pat kaip ir &amp;lt;code&amp;gt;reikšmė2&amp;lt;/code&amp;gt; (toliau daugiau paaiškinsiu apie tekstą ir &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Priskyrimai ===&lt;br /&gt;
&lt;br /&gt;
Gerai, dabar mes turime dėžutes, pavadintas kintamaisiais, taip pat informaciją, kuri gali būti kintamajame. Kompiuteris pamatys tokią eilutę &amp;lt;code&amp;gt;vardas = &amp;quot;Benas&amp;quot;&amp;lt;/code&amp;gt; ir perskaitys ją kaip &amp;quot;Padėk tekstą &amp;lt;code&amp;gt;Benas&amp;lt;/code&amp;gt; į dėžę (ar kintamąjį) &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt;&amp;quot;. Vėliau, pamatęs sakinį &amp;lt;code&amp;gt;c = a + b&amp;lt;/code&amp;gt; jį perskaitys kaip &amp;quot;padėt sumą &amp;lt;code&amp;gt;a + b&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;123.4 + 432&amp;lt;/code&amp;gt;, kas lygu &amp;lt;code&amp;gt;555.4&amp;lt;/code&amp;gt;, į &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&amp;quot;. Dešinė sakinio pusė ''konvertuosis'' ir rezultatas bus padėtas į kintamajį kairėje pusėje (&amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;). Tai yra vadinama ''priskyrimu''. Turėtume nemaišyti priskyrimo ir matematinio lygybės ženklo (&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;). Ką reiškia &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; aptarsime vėliau.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O štai ir kitas kintamųjų naudojimo pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 1&lt;br /&gt;
print(a)&lt;br /&gt;
a = a + 1&lt;br /&gt;
print(a)&lt;br /&gt;
a = a * 2&lt;br /&gt;
print(a)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir žinoma štai tokį rezultatą gausime:&lt;br /&gt;
&lt;br /&gt;
 1&lt;br /&gt;
 2&lt;br /&gt;
 4&lt;br /&gt;
&lt;br /&gt;
Net jei kintamieji yra abiejose lygybės pusėse (pavyzdžiui šlamštas = šlamštas), kompiuteris vis tiek perskaitys taip: &amp;quot;Pirmiausia surask informaciją, kuri patalpinta ir tada surask, kur ją padėti&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dar viena programa prieš man pabangiant šį skyrių:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaičius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
sveikasSkaičius = int(input(&amp;quot;Įvesk sveiką skaičių: &amp;quot;))&lt;br /&gt;
tekstas = input(&amp;quot;Įvesk tekstą: &amp;quot;)&lt;br /&gt;
print(&amp;quot;skaičius =&amp;quot;, skaičius)&lt;br /&gt;
print(&amp;quot;skaičius yra&amp;quot;, type(skaičius))&lt;br /&gt;
print(&amp;quot;skaičius * 2 =&amp;quot;, skaičius * 2)&lt;br /&gt;
print(&amp;quot;sveikas skaičius =&amp;quot;, sveikasSkaičius)&lt;br /&gt;
print(&amp;quot;sveikas skaičius yra&amp;quot;, type(sveikasSkaičius))&lt;br /&gt;
print(&amp;quot;sveikasSkaičius * 2 =&amp;quot;, sveikasSkaičius * 2)&lt;br /&gt;
print(&amp;quot;tekstas =&amp;quot;, tekstas)&lt;br /&gt;
print(&amp;quot;tekstas yra&amp;quot;, type(tekstas))&lt;br /&gt;
print(&amp;quot;tekstas * 2 =&amp;quot;, tekstas * 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Įvesk skaičių: '''12.34'''&lt;br /&gt;
 Įvesk sveiką skaičių: '''-3'''&lt;br /&gt;
 Įvesk tekstą: '''Labas'''&lt;br /&gt;
 skaičius = 12.34&lt;br /&gt;
 skaičius yra &amp;lt;class 'float'&amp;gt;&lt;br /&gt;
 skaičius * 2 = 24.68&lt;br /&gt;
 sveikas skaičius = -3&lt;br /&gt;
 sveikas skaičius yra &amp;lt;class 'int'&amp;gt;&lt;br /&gt;
 sveikasSkaičius * 2 = -6&lt;br /&gt;
 tekstas = Labas&lt;br /&gt;
 tekstas yra &amp;lt;class 'str'&amp;gt;&lt;br /&gt;
 tekstas * 2 = LabasLabas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad kintamasis &amp;lt;code&amp;gt;skaičius&amp;lt;/code&amp;gt; buvo sukurtas su &amp;lt;code&amp;gt;float(input())&amp;lt;/code&amp;gt;, išsaugos, o vėliau atspausdins tokį skaičių, koks buvo įvestas – su kableliu. Kintamasis &amp;lt;code&amp;gt;sveikasSkaičius&amp;lt;/code&amp;gt;, kuris buvo sukurtas su &amp;lt;code&amp;gt;int(input())&amp;lt;/code&amp;gt;, grąžina sveiką skaičių – reikšmę be kablelio. Tuo tarpu &amp;lt;code&amp;gt;tekstas&amp;lt;/code&amp;gt;, kuris buvo sukurtas su &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt;, grąžino tekstinę eilutę (gali būti aprašoma ir &amp;lt;code&amp;gt;str(input())&amp;lt;/code&amp;gt;). Jei tu nori, kad vartotojas įvestų skaičių su kableliu, naudok &amp;lt;code&amp;gt;float(input())&amp;lt;/code&amp;gt; kintamojo tipą. Jei nori, kad vartotojas įvestų sveiką skaičių, naudok &amp;lt;code&amp;gt;int(input())&amp;lt;/code&amp;gt; (jeigu vartotojas įves skaičių su kabliu – dalį po kabelio programa tiesiog ignoruos), bet jei nori teksto – naudok &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Antra pusė programos naudoja &amp;lt;code&amp;gt;type()&amp;lt;/code&amp;gt; funkciją, kuri nusako, kokio tipo kintamasis yra. Skaičius yra &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; tipo. Tai yra angliškų žodžių ''integer'' (sveikas skaičius) ir ''floating point'' (slankusis kablelis, naudojamas daugiausiai skaičiams su kableliu) trumpiniai. Tekstinė eilutė yra &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;, trumpinys ''string'' (tekstinė eilutė). Sveiki skaičiai ir slankusis kablelis gali būti naudojami matematinėms funkcijoms, tekstas – ne. Atkreipk dėmesį, kai Python'as daugina skaičių iš sveiko skaičiaus gaunamas rezultatas, kurio ir galima tikėtis, tačiau jei tekstas padauginamas iš sveiko skaičiaus – sukuriamos kelios teksto kopijos (pavyzdžiui, &amp;lt;code&amp;gt;tekstas * 2 = LabasLabas&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tos pačios operacijos su teksto tipu daro kitokius dalykus nei su skaičiais. Taip pat, kai kurios operacijos veikia tik su skaičiais ir grąžina klaidą, jei bus bandoma panaudoti tesktą. Štai keletas interaktyvių pavyzdžių:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;Čia&amp;quot; + &amp;quot; &amp;quot; + &amp;quot;yra&amp;quot; + &amp;quot; junginys.&amp;quot;)&lt;br /&gt;
Čia yra junginys.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;Ha, &amp;quot; * 5)&lt;br /&gt;
Ha, Ha, Ha, Ha, Ha, &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;Ha, &amp;quot; * 5 + &amp;quot;ha!&amp;quot;)&lt;br /&gt;
Ha, Ha, Ha, Ha, Ha, ha!&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(3 - 1)&lt;br /&gt;
2&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print(&amp;quot;3&amp;quot; - &amp;quot;1&amp;quot;)&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;&amp;lt;string&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;&lt;br /&gt;
TypeError: unsupported operand type(s) for -: 'str' and 'str'&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai sąrašas kelių operacijų su tekstu:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Operacija&lt;br /&gt;
!Symbolis &lt;br /&gt;
!Pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
|Pakartojimas&lt;br /&gt;
|&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; &lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;i&amp;quot; * 5 == &amp;quot;iiiii&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Sujungimas&lt;br /&gt;
|&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; &lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;quot;Hello, &amp;quot; + &amp;quot;World!&amp;quot; == &amp;quot;Hello, World!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&lt;br /&gt;
'''Laikas.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# ši programa apskaičiuoja laiko priklausomybę nuo greičio ir atstumo&lt;br /&gt;
print(&amp;quot;Įvesk greitį ir atstumą&amp;quot;)&lt;br /&gt;
greitis = float(input(&amp;quot;Greitis: &amp;quot;))&lt;br /&gt;
atstumas = float(input(&amp;quot;Atstumas: &amp;quot;))&lt;br /&gt;
laikas = (atstumas / greitis)&lt;br /&gt;
print(&amp;quot;Laikas:&amp;quot;, laikas)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Įvesk greitį ir atstumą&lt;br /&gt;
 Greitis: '''5'''&lt;br /&gt;
 Atstumas: '''10'''&lt;br /&gt;
 Laikas: 2.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk greitį ir atstumą&lt;br /&gt;
 Greitis: '''3.52'''&lt;br /&gt;
 Atstumas: '''45.6'''&lt;br /&gt;
 Laikas: 12.9545454545&lt;br /&gt;
&lt;br /&gt;
'''Plotas.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa apskaičiuoja stačiakampio perimetrą ir plotą &lt;br /&gt;
print(&amp;quot;Įveskite stačiakampio informaciją&amp;quot;)&lt;br /&gt;
ilgis = float(input(&amp;quot;Ilgis: &amp;quot;))&lt;br /&gt;
plotis = float(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
perimetras = (2 * ilgis + 2 * plotis) &lt;br /&gt;
print(&amp;quot;Plotas:&amp;quot;, ilgis * plotis)&lt;br /&gt;
print(&amp;quot;Perimetras:&amp;quot;, perimetras)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdžio rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Įveskite stačiakampio informaciją&lt;br /&gt;
 Ilgis: '''4'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Plotas: 12.0&lt;br /&gt;
 Perimetras: 14.0&lt;br /&gt;
&lt;br /&gt;
 Įveskite stačiakampio informaciją&lt;br /&gt;
 Ilgis: '''2.53'''&lt;br /&gt;
 Plotis: '''5.2'''&lt;br /&gt;
 Plotas: 13.156&lt;br /&gt;
 Perimetras: 15.46&lt;br /&gt;
&lt;br /&gt;
'''temperatura.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa konvertuoja temperatūra iš Farenheitų į Celsijų&lt;br /&gt;
far_temp = float(input(&amp;quot;Temperatūra Farenheitais: &amp;quot;))&lt;br /&gt;
cels_temp = (far_temp - 32.0) * (5.0 / 9.0)&lt;br /&gt;
print(&amp;quot;Temperatūra Celsijaus laipsniais:&amp;quot;, cels_temp )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdžio rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''32'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: 0.0&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''-40'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: -40.0&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''212'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: 100.0&lt;br /&gt;
&lt;br /&gt;
 Temperatūra Farenheitais: '''98.6'''&lt;br /&gt;
 Temperatūra Celsijaus laipsniais: 37.0&lt;br /&gt;
&lt;br /&gt;
=== Užduotis ===&lt;br /&gt;
Parašyti programą, kuri priima 2 tekstines reikšmes ir 2 skaičius iš vartotojo įvesties, sujungia tekstus be tarpų ir atvaizduoja gautą rezultatą, o tada sudaugina du skaičius ir atvaizduoja naujoje eilutėje.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;  &lt;br /&gt;
tekstas1 = input('Tekstas 1: ')&lt;br /&gt;
tekstas2 = input('Tekstas 2: ')&lt;br /&gt;
skaičius1 = float(input('Skaičius 1: '))&lt;br /&gt;
skaičius2 = float(input('Skaičius 2: '))&lt;br /&gt;
print(tekstas1 + tekstas2)&lt;br /&gt;
print(skaičius1 * skaičius2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Labas, Pasauli |next=Suskaičiuoti iki 10}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3902</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3902"/>
		<updated>2022-03-15T16:05:39Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Pasirinkimai |next=Funkcijų apibrėžimas}}&lt;br /&gt;
{{BookCat}}&lt;br /&gt;
&lt;br /&gt;
=== Kas yra derinimas? ===&lt;br /&gt;
:„Pradėjus programuoti supratau, kad nėra taip lengva kurti teisingai veikiančias programas. Atsimenu akimirką, kai supratau, kad didedė dalis mano gyvenimo, bus skirta klaidų ieškojimui mano paties kurtose programose. Taip atsidaro derinimas.“ &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodamas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== Ką daro programa? ===&lt;br /&gt;
&lt;br /&gt;
Kitas dalykas, ką reikia padaryti, tai peržiūrėti pirminį programos tekstą. Tai vienas iš svarbiausių dalykų programavime. Pagrindinis būdas, kaip tai daroma - tai kodo peržiūros.&lt;br /&gt;
&lt;br /&gt;
Kodo peržiūra prasideda pirma eilute ir tęsiasi iki programos galo. &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklai ir &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakiniai reiškia, kad kai kurios eilutės gali būti nekviečiamos niekada, o kai kurios - vykdomos keletą kartų. Kiekvienoje eilutėje turi suprasti, ką daro Python'as.&lt;br /&gt;
&lt;br /&gt;
Pradėkime su paprasta parametro programa. Šios programos nerašyk. Tau reikės ją tik skaityti, ne vykdyti. Programos pirminis tekstas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&lt;br /&gt;
plotis = int(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Klausimas:'' Kuri eilutė vykdoma pirma?&lt;br /&gt;
: ''Atsakymas:'' Pirmoji kodo eilutė visada yra vykdoma pirma. Šiuo atveju tai: &amp;lt;code&amp;gt;aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Aukštis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Bendrai, tai yra kita eilutė, kuri yra &amp;lt;code&amp;gt;plotis = int(input(&amp;quot;Plotis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Plotis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kai kita eilutė nėra daugiau ar mažiau įtraukta, nei esama eilutė, ji ir yra vykdoma. Šiuo atveju tai: &amp;lt;code&amp;gt;print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&amp;lt;/code&amp;gt; (Taip pat gali būti kviečiama funkcija esamoje eilutėje, bet tai bus paaiškinta tolimesniame skyriuje)                                                                       &lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Visų pirma, ji spausdina &amp;lt;code&amp;gt;perimetras = &amp;lt;/code&amp;gt;, o tada - sumą, sudarytą iš kintamųjų &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;, kuri užrašoma taip: &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Ar kodas &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt; skaičiuoja perimetrą teisingai?&lt;br /&gt;
: Pažiūrėk: stačiakampio perimetras yra apatinė kraštinė (plotis), plius kairė (aukstis), plius viršutinė (plotis), plius dešinė kraštinė (a?). Paskutinis kintamasis turėtų būti dešinės kraštinės ilgis, arba kitaip - aukštis.&lt;br /&gt;
; Ar supranti, kodėl, kai kuriais atvejais, skaičiuojant perimetrą buvo gaunamas teisingas atsakymas?                                                                             &lt;br /&gt;
: Teisingas atsakymas buvo gaunamas kai aukštis ir plotis buvo lygūs.&lt;br /&gt;
&lt;br /&gt;
Kita programa, kurios kodo peržiūrą darysime, tai programa, kuri turėtų ekrane išvesti 5 taškus. Tačiau, programos išvestis yra:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
Programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 5&lt;br /&gt;
while skaicius &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&lt;br /&gt;
    skaicius = skaicius - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Šios programos peržiūra bus kiek sudėtingesnė, nes joje yra įtrauktų kodo dalių. Pradėk.&lt;br /&gt;
; Kuri eilutė vykdoma pirma?&lt;br /&gt;
: Pirmoji kodo eilutė: &amp;lt;code&amp;gt;skaicius = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Priskiria skaičių 5 kintamajam &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kita eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Na, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sakiniai žiūri į juose esančius reiškinius. Jei jie yra tesingi, vykdomas kitas įtrauktas blokas. Jei klaidingi – įtrauktas blokas yra praleidžiamas.&lt;br /&gt;
; Tai ką ji daro šiuo atveju?&lt;br /&gt;
: Jei &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt; yra ''teisinga'', bus vykdomos kitos dvi eilutės.&lt;br /&gt;
; Taigi, ar &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: Paskutinė vertė, kuri buvo priskirta &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; buvo &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt;, taigi – taip.&lt;br /&gt;
; O kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; buvo teisinga, tai kita eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina vieną tašką. Kadangi funkcija turi papildomą argumentą &amp;lt;code&amp;gt;end = &amp;quot; &amp;quot;&amp;lt;/code&amp;gt;, toliau spausdinamas tekstas nebus pradedamas naujoje eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;, nes tai yra kita eilutė ir nėra jokių įtraukos pasikeitimų.&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė skaičiuoja &amp;lt;code&amp;gt;skaicius - 1&amp;lt;/code&amp;gt;: iš esamos &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertės (5) atimamas 1, ir tai tampa nauja kintamojo &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmė. Sutrumpintai, &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertė yra pakeičiama iš 5 į 4.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Įtraukos lygis keičiasi, todėl turi žiūrėti į tai, kokią valdymo struktūrą turime. Peržiūrėk &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, taigi turi grįžti į &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sąlygą, kuri yra &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė žiūri į &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę, kuri yra 4, ir lygina ją su 1. Kadangi &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt;, ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo teisinga, kita eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ekrane išspausdina dar vieną tašką, po jo padėdama tarpą.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Nėra įtraukos pokyčio, todėl: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ir ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (4), atima 1, kas yra lygu 3 ir priskiria 3 kaip naują &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi turime įtraukos pokytį dėl ciklo, kita eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (3) su 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga yra teisinga, kita eilutė: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; O ji daro?&lt;br /&gt;
: Trečias taškas yra spausdinamas eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (3), atima 1, kas yra lygu 2 ir priskiria 2 kaip naują &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Vėl grįžtame į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (2) su 1. &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklas tęsiasi: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Atranda atsakymą gyvenimui, Visatai, ir viskam. Juokauju (turėjau patikrinti, kad dar neužmigai). Eilutė spausdina ketvirtą tašką ekrane.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (2), atima 1, kas yra lygu 1 ir priskiria 1 kaip naują &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Atgal į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Ji palygina &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (1) to 1. Kadangi &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; yra ''klaidinga'' (vienas nėra daugiau nei vienas), ciklas baigiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo klaidinga, vykdoma kita eilutė esanti už ciklo. Tai yra: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Priverčia teksto žymeklį ekrane peršokti į kitą eilutę.&lt;br /&gt;
; Kodėl programa nespausdina 5 taškų?&lt;br /&gt;
: Ciklas baigiasi vienu tašku per anksti.&lt;br /&gt;
; Kaip tai sutvarkyti?&lt;br /&gt;
: Priversti ciklą baigtis vienu tašku vėliau.&lt;br /&gt;
; Ir kaip tai padaryti?&lt;br /&gt;
: Yra keli būdai. Vienas iš jų yra pakeisti ciklo sąlygą į: &amp;lt;code&amp;gt;while skaicius &amp;gt; 0:&amp;lt;/code&amp;gt;. Kitas būdas pakeisti sąlygą į: &amp;lt;code&amp;gt;skaicius &amp;gt;= 1&amp;lt;/code&amp;gt;. Yra ir daugiau būdų.&lt;br /&gt;
&lt;br /&gt;
=== Kaip turėčiau taisyti savo programą? ===&lt;br /&gt;
&lt;br /&gt;
Tau reikia suprasti, ką programa daro. Tau reikia suprasti, ką programa turėtų daryti. Suprasti, koks skirtumas tarp šių dviejų dalykų. Derinimas - tai įgūdis, kurį norint išmokti, reikia daug praktikos. Jei po valandos nepavyksta išspręsti problemos, pailsėk, pakalbėk su kuo nors apie tai. Po kurio laiko sugrįžk prie problemos ir greičiausiai turėsi naujų minčių, kaip ją įveikti. Sėkmės.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Pasirinkimai |next=Funkcijų apibrėžimas}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3901</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3901"/>
		<updated>2022-03-15T16:04:55Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėta navigacija pradžioje&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Pasirinkimai |next=Funkcijų apibrėžimas}}&lt;br /&gt;
&lt;br /&gt;
=== Kas yra derinimas? ===&lt;br /&gt;
:„Pradėjus programuoti supratau, kad nėra taip lengva kurti teisingai veikiančias programas. Atsimenu akimirką, kai supratau, kad didedė dalis mano gyvenimo, bus skirta klaidų ieškojimui mano paties kurtose programose. Taip atsidaro derinimas.“ &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodamas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== Ką daro programa? ===&lt;br /&gt;
&lt;br /&gt;
Kitas dalykas, ką reikia padaryti, tai peržiūrėti pirminį programos tekstą. Tai vienas iš svarbiausių dalykų programavime. Pagrindinis būdas, kaip tai daroma - tai kodo peržiūros.&lt;br /&gt;
&lt;br /&gt;
Kodo peržiūra prasideda pirma eilute ir tęsiasi iki programos galo. &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklai ir &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakiniai reiškia, kad kai kurios eilutės gali būti nekviečiamos niekada, o kai kurios - vykdomos keletą kartų. Kiekvienoje eilutėje turi suprasti, ką daro Python'as.&lt;br /&gt;
&lt;br /&gt;
Pradėkime su paprasta parametro programa. Šios programos nerašyk. Tau reikės ją tik skaityti, ne vykdyti. Programos pirminis tekstas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&lt;br /&gt;
plotis = int(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Klausimas:'' Kuri eilutė vykdoma pirma?&lt;br /&gt;
: ''Atsakymas:'' Pirmoji kodo eilutė visada yra vykdoma pirma. Šiuo atveju tai: &amp;lt;code&amp;gt;aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Aukštis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Bendrai, tai yra kita eilutė, kuri yra &amp;lt;code&amp;gt;plotis = int(input(&amp;quot;Plotis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Plotis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kai kita eilutė nėra daugiau ar mažiau įtraukta, nei esama eilutė, ji ir yra vykdoma. Šiuo atveju tai: &amp;lt;code&amp;gt;print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&amp;lt;/code&amp;gt; (Taip pat gali būti kviečiama funkcija esamoje eilutėje, bet tai bus paaiškinta tolimesniame skyriuje)                                                                       &lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Visų pirma, ji spausdina &amp;lt;code&amp;gt;perimetras = &amp;lt;/code&amp;gt;, o tada - sumą, sudarytą iš kintamųjų &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;, kuri užrašoma taip: &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Ar kodas &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt; skaičiuoja perimetrą teisingai?&lt;br /&gt;
: Pažiūrėk: stačiakampio perimetras yra apatinė kraštinė (plotis), plius kairė (aukstis), plius viršutinė (plotis), plius dešinė kraštinė (a?). Paskutinis kintamasis turėtų būti dešinės kraštinės ilgis, arba kitaip - aukštis.&lt;br /&gt;
; Ar supranti, kodėl, kai kuriais atvejais, skaičiuojant perimetrą buvo gaunamas teisingas atsakymas?                                                                             &lt;br /&gt;
: Teisingas atsakymas buvo gaunamas kai aukštis ir plotis buvo lygūs.&lt;br /&gt;
&lt;br /&gt;
Kita programa, kurios kodo peržiūrą darysime, tai programa, kuri turėtų ekrane išvesti 5 taškus. Tačiau, programos išvestis yra:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
Programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 5&lt;br /&gt;
while skaicius &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&lt;br /&gt;
    skaicius = skaicius - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Šios programos peržiūra bus kiek sudėtingesnė, nes joje yra įtrauktų kodo dalių. Pradėk.&lt;br /&gt;
; Kuri eilutė vykdoma pirma?&lt;br /&gt;
: Pirmoji kodo eilutė: &amp;lt;code&amp;gt;skaicius = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Priskiria skaičių 5 kintamajam &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kita eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Na, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sakiniai žiūri į juose esančius reiškinius. Jei jie yra tesingi, vykdomas kitas įtrauktas blokas. Jei klaidingi – įtrauktas blokas yra praleidžiamas.&lt;br /&gt;
; Tai ką ji daro šiuo atveju?&lt;br /&gt;
: Jei &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt; yra ''teisinga'', bus vykdomos kitos dvi eilutės.&lt;br /&gt;
; Taigi, ar &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: Paskutinė vertė, kuri buvo priskirta &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; buvo &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt;, taigi – taip.&lt;br /&gt;
; O kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; buvo teisinga, tai kita eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina vieną tašką. Kadangi funkcija turi papildomą argumentą &amp;lt;code&amp;gt;end = &amp;quot; &amp;quot;&amp;lt;/code&amp;gt;, toliau spausdinamas tekstas nebus pradedamas naujoje eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;, nes tai yra kita eilutė ir nėra jokių įtraukos pasikeitimų.&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė skaičiuoja &amp;lt;code&amp;gt;skaicius - 1&amp;lt;/code&amp;gt;: iš esamos &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertės (5) atimamas 1, ir tai tampa nauja kintamojo &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmė. Sutrumpintai, &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertė yra pakeičiama iš 5 į 4.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Įtraukos lygis keičiasi, todėl turi žiūrėti į tai, kokią valdymo struktūrą turime. Peržiūrėk &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, taigi turi grįžti į &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sąlygą, kuri yra &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė žiūri į &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę, kuri yra 4, ir lygina ją su 1. Kadangi &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt;, ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo teisinga, kita eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ekrane išspausdina dar vieną tašką, po jo padėdama tarpą.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Nėra įtraukos pokyčio, todėl: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ir ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (4), atima 1, kas yra lygu 3 ir priskiria 3 kaip naują &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi turime įtraukos pokytį dėl ciklo, kita eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (3) su 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga yra teisinga, kita eilutė: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; O ji daro?&lt;br /&gt;
: Trečias taškas yra spausdinamas eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (3), atima 1, kas yra lygu 2 ir priskiria 2 kaip naują &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Vėl grįžtame į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (2) su 1. &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklas tęsiasi: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;, end = &amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Atranda atsakymą gyvenimui, Visatai, ir viskam. Juokauju (turėjau patikrinti, kad dar neužmigai). Eilutė spausdina ketvirtą tašką ekrane.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (2), atima 1, kas yra lygu 1 ir priskiria 1 kaip naują &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Atgal į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Ji palygina &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; reikšmę (1) to 1. Kadangi &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; yra ''klaidinga'' (vienas nėra daugiau nei vienas), ciklas baigiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo klaidinga, vykdoma kita eilutė esanti už ciklo. Tai yra: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Priverčia teksto žymeklį ekrane peršokti į kitą eilutę.&lt;br /&gt;
; Kodėl programa nespausdina 5 taškų?&lt;br /&gt;
: Ciklas baigiasi vienu tašku per anksti.&lt;br /&gt;
; Kaip tai sutvarkyti?&lt;br /&gt;
: Priversti ciklą baigtis vienu tašku vėliau.&lt;br /&gt;
; Ir kaip tai padaryti?&lt;br /&gt;
: Yra keli būdai. Vienas iš jų yra pakeisti ciklo sąlygą į: &amp;lt;code&amp;gt;while skaicius &amp;gt; 0:&amp;lt;/code&amp;gt;. Kitas būdas pakeisti sąlygą į: &amp;lt;code&amp;gt;skaicius &amp;gt;= 1&amp;lt;/code&amp;gt;. Yra ir daugiau būdų.&lt;br /&gt;
&lt;br /&gt;
=== Kaip turėčiau taisyti savo programą? ===&lt;br /&gt;
&lt;br /&gt;
Tau reikia suprasti, ką programa daro. Tau reikia suprasti, ką programa turėtų daryti. Suprasti, koks skirtumas tarp šių dviejų dalykų. Derinimas - tai įgūdis, kurį norint išmokti, reikia daug praktikos. Jei po valandos nepavyksta išspręsti problemos, pailsėk, pakalbėk su kuo nors apie tai. Po kurio laiko sugrįžk prie problemos ir greičiausiai turėsi naujų minčių, kaip ją įveikti. Sėkmės.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Pasirinkimai |next=Funkcijų apibrėžimas}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/DUK&amp;diff=3879</id>
		<title>Python Vadovėlis/DUK</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/DUK&amp;diff=3879"/>
		<updated>2022-02-28T19:18:10Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta dalis teksto&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; Kaip galiu sukurti grafinę sąsają (angl. graphical user interface, GUI) su Python? : Gali naudoti vieną iš šių bibliotekų: [https://docs.python.org/3.5/library/tkinter.html TKinter], [https://riverbankcomputing.com/software/pyqt/intro PyQt], [https://wiki.gnome.org/Projects/PyGObject PyGobject]. Itin paprastai grafikai kurti, gali naudoti vėžliuko grafikos rėžimą &amp;lt;code&amp;gt;import turtle&amp;lt;/code&amp;gt;&lt;br /&gt;
; Kaip galiu sukurti žaidimą su Python? : Geriausias būdas, greičiausiai, yra naudoti PyGame, kuris pasiekiamas šia nuoroda: http://pygame.org/&lt;br /&gt;
; Kaip galiu sukurti vykdomąjį failą iš Python programos? : Trumpas atsakymas: Python yra interpretuojama kalba, todėl tai yra neįmanoma. Ilgas atsakymas: kažkas panašaus į vykdomąjį failą gali būti sukuriama sujungiant Python interpretatorių ir failą. Daugiau informacijos apie tai gali rasti šiame puslapyje http://www.python.org/doc/faq/programming/#how-can-i-create-a-stand-alone-binary-from-a-python-script&lt;br /&gt;
&lt;br /&gt;
; (IFAQ) Why do you use first person in this tutorial? : Once upon a time in a different millennia, (1999 to be exact), an earlier version was written entirely by Josh Cogliati, and it was up on his webpage http://www.honors.montana.edu/~jjc/easytut and it was good.  Then the server rupert, like all good things than have a beginning came to an end, and Josh moved it to Wikibooks, but the first person writing stuck.  If someone really wants to change it, I will not revert it, but I don't see much point.   (The webpage has since moved to http://jjc.freeshell.org/easytut/ and http://jjc.freeshell.org/easytut3/ )&lt;br /&gt;
; My question is not answered. : Ask on the discussion page or add it to this FAQ, or email one of the [[Vadovėlis/Autoriai|Autoriai]].  &lt;br /&gt;
&lt;br /&gt;
For other FAQs, you may want to see the Python 2.6 version of this page [[Non-Programmer's Tutorial for Python 2.6/FAQ]], or the [https://docs.python.org/3.5/faq/ Python FAQ].&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Pabaiga |next=Terminai}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pabaiga&amp;diff=3878</id>
		<title>Python Vadovėlis/Pabaiga</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pabaiga&amp;diff=3878"/>
		<updated>2022-02-28T19:03:09Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pirminis vertimas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ir štai mes pasiekėme pabaigą. O gal pradžią? Šis vadovėlis parašytas Wikipedijoje, todėl gali siūlyti įvairius patobulinimus. Jei nori išmokti daugiau apie Python kalbą, šiame [http://www.python.org/~guido/ Guido van Rossum] sukurtame [http://docs.python.org/3/tutorial/index.html The Python Tutorial] puslapyje gali rasti daug papildomų temų. Jei atidžiai skaitei šį vadovėlį, turėtum suprasti daugumą ten esančios medžiagos. Dar keli naudingi puslapiai anglų kalba:&lt;br /&gt;
&lt;br /&gt;
* [http://www.swaroopch.com/notes/Python A Byte of Python by Swaroop C H]&lt;br /&gt;
* [https://www.datacamp.com/courses/intro-to-python-for-data-science DataCamp Interactive Python 3 Tutorial - Online]&lt;br /&gt;
* [http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/index.html Hands-on Python Tutorial by Dr. Andrew N. Harrington]&lt;br /&gt;
&lt;br /&gt;
Tikiuosi, kad ši knyga tau suteiks pakankamai žinių, kad galėtum pradėti rašyti programinį kodą.&lt;br /&gt;
&lt;br /&gt;
Tad smagaus programavimo, tegu tai pakeičia tavo gyvenimą ir pasaulį!&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Įvadas į importuotas bibliotekas ir kitas funkcijas |next=DUK}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Autoriai&amp;diff=3877</id>
		<title>Python Vadovėlis/Autoriai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Autoriai&amp;diff=3877"/>
		<updated>2022-02-28T18:41:27Z</updated>

		<summary type="html">&lt;p&gt;Monika: Autorių rikiavimas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Originalaus (angliško) vadovėlio autoriai&lt;br /&gt;
&lt;br /&gt;
; Josh Cogliati&lt;br /&gt;
: Jrincayc, jjcogliati-jan2007 AT yahoo.com&lt;br /&gt;
&lt;br /&gt;
=== Angliškos versijos bendraautoriai ===&lt;br /&gt;
* Mitchell Aikens, LGIT, WSIT, AAS &lt;br /&gt;
* Kiah Morante &lt;br /&gt;
*Elizabeth Cogliati&lt;br /&gt;
*James A. Brown&lt;br /&gt;
*Joe Oppegaard&lt;br /&gt;
*Benjamin Hell &lt;br /&gt;
&lt;br /&gt;
=== Lietuviškas vertimas ir modifikacija ===&lt;br /&gt;
* Artūras Nikončukas, Visma Lietuva&lt;br /&gt;
* Laura Kutovaja, Visma Lietuva&lt;br /&gt;
* Mantas Urbonas, Visma Lietuva&lt;br /&gt;
* Martynas Teleiša, Visma lietuva&lt;br /&gt;
* Mindaugas Pikelis, Visma Lietuva&lt;br /&gt;
* Modesta Jeremičienė, Visma Lietuva&lt;br /&gt;
* Monika Bijeikytė, Visma Lietuva&lt;br /&gt;
* Povilas Jeremičius, Visma Lietuva&lt;br /&gt;
* Rokas Cvirka, Visma Lietuva&lt;br /&gt;
* Živilė Bliūdžiūtė, Visma Lietuva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=BEGINNING |next=Įžanga}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3876</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3876"/>
		<updated>2022-02-28T18:37:31Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pataisymai pagal Martyno pastabas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Suskaičiuoti iki 10 |next=Derinimas}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Aš manau, kad kiekvieną skyrių turėčiau pradėti nuo apšilimo pratimo. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absoliučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;. Tada jis skaito eilutę &amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;. Kitu atveju, jis vykdo eilutę &amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar „reiškinio“ &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; reikšmė yra teisinga (angl. true) ar klaidinga (angl. false). Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių „bloko“, kuris vykdomas tik jei reiškinio reikšmė yra teisinga. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių „blokas“. Antrasis sakinių blokas yra vykdomas tik jei reiškinio reikšmė yra klaidinga.&lt;br /&gt;
&lt;br /&gt;
Reiškinys gali turėti įvairių sąlygų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Operatorius &lt;br /&gt;
!Funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis. Tai &amp;lt;code&amp;gt;else if&amp;lt;/code&amp;gt; sutrumpinimas ir reiškia, kad jei originali &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio reikšmė yra klaidinga, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra teisinga, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvestis:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; reiškinio reikšmė nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant tikrinti kelias sąlygas viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant skaičius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvestis - dvi klaidingos (angl. false) reikšmės&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Spėlionių žaidimas daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif skaicius % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda visų įvestų skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda visų įvestų skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek skaičių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui įsiminti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Parašyk programą, kuri prašo naudotojo įvesti savo vardą. Jei jis įveda tavo vardą, išvesk „Tai puikus vardas“. Jei jie įveda „Jonas Jonaitis“ arba „Petras Petraitis“, išvesk kokį nors juokingą tekstą. Kitu atveju, išvesk „Tavo vardas yra labai gražus“.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
vardas = input(&amp;quot;Tavo vardas: &amp;quot;)&lt;br /&gt;
if vardas == 'Lukas':&lt;br /&gt;
    print(&amp;quot;Tai puikus vardas.&amp;quot;)&lt;br /&gt;
elif vardas == 'Jonas Jonaitis':&lt;br /&gt;
    print(&amp;quot;... juokingas tekstas apie Joną.&amp;quot;)&lt;br /&gt;
elif vardas == 'Petras Petraitis':&lt;br /&gt;
    print(&amp;quot;... juokingas tekstas apie Petrą.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Tavo vardas yra labai gražus.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pakeisk aukščiau esančią „daugiau_maziau.py“ programą, kad ji papildomai skaičiuotų, kiek kartų naudotojas įvedė neteisingą skaičių. Jei taip nutiko daugiau, nei tris kartus, programos pabaigoje išvesk „Tai buvo sudėtinga.“, o kitu atveju - „Gerai padirbėjai!“&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
kiekis = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
    kiekis = kiekis + 1&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if kiekis &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;Tai buvo sudėtinga.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Gerai padirbėjai!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri prašo įvesti du skaičius. Jei skaičių suma yra didesnė nei 100, išvesk „Tai yra didelis skaičius“.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius1 = float(input(&amp;quot;Pirmas skaičius: &amp;quot;))&lt;br /&gt;
skaicius2 = float(input(&amp;quot;Antras skaičius: &amp;quot;))&lt;br /&gt;
if skaicius1 + skaicius2 &amp;gt; 100:&lt;br /&gt;
    print(&amp;quot;Skaičių suma yra didelis skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Suskaičiuoti iki 10 |next=Derinimas}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/%C4%AEvadas&amp;diff=3872</id>
		<title>Python Vadovėlis/Įvadas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/%C4%AEvadas&amp;diff=3872"/>
		<updated>2022-02-15T12:34:53Z</updated>

		<summary type="html">&lt;p&gt;Monika: Rašybos klaidų pataisymai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Įžanga |next=Labas, Pasauli}}&lt;br /&gt;
&lt;br /&gt;
=== Įvadas ===&lt;br /&gt;
Šis vadovėlis skirtas visiems norintiems išmokti Python: tiek pirmą kartą bandantiems programuoti, tiek bandžiusiems programuoti kitomis programavimo kalbomis ir norintiems išmokti Python, tiek jau pramokusiems Python, bei norintiems praplėsti žinias.&lt;br /&gt;
&lt;br /&gt;
Tėra vienintelis būdas išmokti programuoti. '''Tu''' turi skaityti ''kodą'' ir rašyti ''kodą''.&lt;br /&gt;
Vadovėlyje parodysiu tau daug kodo. Bandyk jį vykdyti kompiuteriu ir pats išbandyti kaip jis veikia. Eksperimentuok ir bandyk daryti pakeitimus. Nebijok kažką sugandinti, blogiausiu atveju tavo kodas tiesiog neveiks. Kai aš pats rašysiu kodą knygoje, jį suformatuosiu šitaip:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Python kalbą lengva išmokti&lt;br /&gt;
print(&amp;quot;Sveikas, pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prieš komentarą – paprastą tekstą – dėsiu groteles. Šitaip lengvai atskirsi kodo pavyzdžius nuo teksto. Jei skaitai internetinį knygos variantą, atkreipk dėmesį į kodo spalvą – ji kitokia, tam kad tam tikros kodo dalys išsiskirtų. Tau vedant kodą kompiuteriu redagavimo programa jį gali nuspalvinti kitokiomis spalvomis arba iš viso nenuspalvinti. Kodo nuspalvinimas gali skirtis, bet jei įvesi kodą taip, kaip nurodyta pavyzdžiuose, jis veiks taip, kaip ir aprašyta vadovėlyje.&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiui, vykdant anksčiau parašytą kodo pavyzdį kompiuteris ekrane išves tokį tekstą:&lt;br /&gt;
&lt;br /&gt;
 Sveikas, pasauli!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Šis vadovėlis skirtas Python 3 versijai. Bandant kodo pavyzdžius vykdyti su Python 2.7 ir ankstesnėmis versijomis, jis gali neveikti. Skirtumai tarp Python 2 ir 3 versijos nėra itin dideli, tad išmokęs Python 3 galėsi be didelių pastangų skaityti ir ankstesnėms versijoms skirtą kodą.&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiuose dažnai parodysiu programos vykdymo metu tavo įvedamą tekstą (jis bus '''paryškintas''') ir programos į ekraną išvedamą tekstą. Pavyzdžiui:&lt;br /&gt;
&lt;br /&gt;
 Stok!&lt;br /&gt;
 Kas eina? '''Benas'''&lt;br /&gt;
 Benai, gali eiti toliau&lt;br /&gt;
&lt;br /&gt;
Vadovėlyje tave supažindinsiu ir su programavimo terminologiją. Tai ne tik tau padės suprasti apie ką kalba programuotojai, bet ir padės mokytis.&lt;br /&gt;
&lt;br /&gt;
Kad galėtum pradėti kurti Python programas tau reikės Python 3 programinės įrangos, bei kodo redaktoriaus. Rekomenduojame naudoti &amp;quot;LR NŠA Python&amp;quot; programą, kurią gali parsisiųsti iš https://www.visma.lt/python-diegimas/. Ši diegimo programa įdiegs Python interpretatorių, Visual Studio Code kodo redaktorių, bei sukonfigūruos tavo kompiuterį, kad galėtum iš karto rašyti ir vykdyti kodą.&lt;br /&gt;
&lt;br /&gt;
=== Python ir Visual Studio Code diegimas ===&lt;br /&gt;
==== Diegimas Windows operacinėse sistemose ====&lt;br /&gt;
LR NŠA Python diegimo programa yra skirta Windows operacinės sistemos naudotojams.&lt;br /&gt;
&lt;br /&gt;
1. Parsisiųsk diegimo programą iš https://www.visma.lt/python-diegimas/. Rekomenduojama rinktis 64 bitų versiją, nebent naudoji 32 bitų operacinės sistemą.&lt;br /&gt;
&lt;br /&gt;
2. Paleisk parsisiųstą programą&lt;br /&gt;
&lt;br /&gt;
3. Atsivers diegimo programos langas. Kad pradėtum diegimą spausk mygtuką '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 1.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
4. Atsivers naujas langas, kuriame galima pasirinkti kokias dalis norima įdiegti. Rekomenduojama nieko nekeisti ir spausti mygtuką '''Install'''.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 2.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
5. Palauk kol baigsis diegimas&lt;br /&gt;
&lt;br /&gt;
6. Baigus diegimą pamatysi langą su pirmo paleidimo instrukcijomis. Šiame lange paspausk mygtuką '''OK'''.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 3.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
7. Paspausk mygtuką '''Finish''', kad užbaigtum diegimą.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 4.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
==== Diegimas Linux, BSD, bei Unix operacinėse sistemose ====&lt;br /&gt;
Jei naudoji ne Windows operacinę sistemą, Python ir kodo redaktorių reikės įsidiegti atskirai.&lt;br /&gt;
Linux, BSD, bei Unix operacinėse sistemose Python dažnai bus įdiegtas kartu su operacine sistema. Patikrinti ar Python įdiegtas ir kuri versija įdiegta galima įvykdžius komandą:&lt;br /&gt;
&lt;br /&gt;
 python3 --version&lt;br /&gt;
&lt;br /&gt;
Jei Python nėra įdiegtas, tai jį įsidiegti galima naudojantis instrukcija anglų kalba: https://docs.python-guide.org/starting/install3/linux/&lt;br /&gt;
&lt;br /&gt;
Parsiųsti ir įdiegti Visual Studio Code kodo redaktorių Linux operacinei sistemai galima iš https://code.visualstudio.com/Download&lt;br /&gt;
 &lt;br /&gt;
==== Diegimas Mac operacinėse sistemose ====&lt;br /&gt;
Nuo Mac OS X Tiger (10.4) versijos, Python 2 yra instaliuojama kartu su operacine sistema. Tad Python 3 reikia įdiegti atskirai (Nebent vėlesnėse versijose pasikeis su operacine sistema diegiamo Python versija). Parsisiųsti Python 3 MAC operacinėms sistemoms galima iš https://www.python.org/downloads/macos/.&lt;br /&gt;
&lt;br /&gt;
Parsiųsti ir įdiegti Visual Studio Code kodo redaktorių galima iš https://code.visualstudio.com/Download&lt;br /&gt;
&lt;br /&gt;
=== Pirmas paleidimas ===&lt;br /&gt;
Windows operacinėse sistemose Visual Studio Code kodo redaktorių gali paleisti paspaudžiant ant darbalaukio atsiradusios ikonėlės.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 5.jpg|miniatiūra]]&lt;br /&gt;
&lt;br /&gt;
Pirmo paleidimo metu programa atliks reikiamus konfigūravimo veiksmus, kad būtų galima pilnai naudotis reikiamais įskiepiais. Todėl pirmo paleidimo metu reikia palaukti kelias minutes kol konfigūravimas bus baigtas.&lt;br /&gt;
&lt;br /&gt;
==== Pirmosios programos sukūrimas ====&lt;br /&gt;
Sukurti pirmąją programą gali vykdydamas šiuos žingsnius Visual Studio Code redaktoriuje:&lt;br /&gt;
&lt;br /&gt;
1. Meniu pasirink Failas &amp;gt;&amp;gt; Atverti aplanką&lt;br /&gt;
&lt;br /&gt;
2. Pasirink ar susikurk aplanką kuriame laikysi Python programų kodo failus.&lt;br /&gt;
&lt;br /&gt;
3. Skyriuje '''NARŠYKLĖ''' prie aplanko paspausk ant naujo failo ikonėlės.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 6.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
4. Pavadink failą &amp;quot;Sveikas.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Automatiškai atsivers failo redagavimo langas. Jame įrašyk&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Sveikas, pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Paspausk klavišus ctrl + F5, kad paleistum programą&lt;br /&gt;
&lt;br /&gt;
7. Apatinėje skiltyje išvysi programos vykdymo langą, kur matysi ir savo programos vykdymo rezultatą:&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 7.jpg|frame|kairėje]]&lt;br /&gt;
&lt;br /&gt;
Tokiu pat principu galėsi kurti ir kitas programas.&lt;br /&gt;
&lt;br /&gt;
==== Programų failų pavadinimai ====&lt;br /&gt;
 Kuriant naujus Python kodo failus labai naudinga laikytis tam tikrų taisyklių, parenkant failų pavadinimus. Nesilaikant šių taisyklių gali atsitikti taip, kad programa &amp;quot;netikėtai&amp;quot; neveiks.&lt;br /&gt;
# Visada naudok failo plėtinį &amp;lt;tt&amp;gt;.py&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Naudok vienintelį tašką - plėtinio atskyrimui&lt;br /&gt;
# Naudok tik: raides, skaičius, brūkšnį (&amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt;) ir pabraukimo simbolį (&amp;lt;tt&amp;gt;_&amp;lt;/tt&amp;gt;)&lt;br /&gt;
# Nenaudok tarpų (žodziams atskirti galima naudoti pabraukimo simbolį (&amp;lt;tt&amp;gt;_&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Failo pavadinimą pradėk raide&lt;br /&gt;
# Nenaudok standartinių Python komandų pavadinimų (pvz. &amp;lt;tt&amp;gt;print.py&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;math.py&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;list.py&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Python paleidimas per komandinę eilutę ===&lt;br /&gt;
Python programinį kodą galima vykdyti ir naudojant komandinę eilutę. Sukūrus failą su programos kodu ją įvykdyti galima komandinėj eilutėj vykdant komandą: &amp;lt;code&amp;gt;python ''failo_pavadinimas''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 8.jpg|frame|kairėje]]&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Fail%C5%B3_tvarkymas&amp;diff=3598</id>
		<title>Python Vadovėlis/Failų tvarkymas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Fail%C5%B3_tvarkymas&amp;diff=3598"/>
		<updated>2021-12-08T09:09:18Z</updated>

		<summary type="html">&lt;p&gt;Monika: Maži pataisymai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Failų I/O ===&lt;br /&gt;
&lt;br /&gt;
Štai paprastas failo I/O (ang. Input/Output, lt. Įvesties/Išvesties) pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Rašyti į failą&lt;br /&gt;
with open(&amp;quot;testas.txt&amp;quot;, &amp;quot;wt&amp;quot;) as rašomas_failas:&lt;br /&gt;
    rašomas_failas.write(&amp;quot;Šis tekstas bus išsiųstas į failą\nPažiūrėk ir pamatysi!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Skaityti failą&lt;br /&gt;
with open(&amp;quot;testas.txt&amp;quot;, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    tekstas = skaitomas_failas.read()&lt;br /&gt;
&lt;br /&gt;
print(tekstas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failo &amp;lt;code&amp;gt;testas.txt&amp;lt;/code&amp;gt; išvestis ir turinys yra:&lt;br /&gt;
&lt;br /&gt;
 Šis tekstas bus išsiųstas į failą&lt;br /&gt;
 Pažiūrėk ir pamatysi!&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad programa sukūrė failą pavadinimu &amp;lt;code&amp;gt;testas.txt&amp;lt;/code&amp;gt; kataloge, iš kurio paleidai programą.  Eilutėje esantis &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; nurodo Python'ui įterpti ''n''aują eilutę toje vietoje.  &lt;br /&gt;
&lt;br /&gt;
Apžvelkime failų I/O:&lt;br /&gt;
* Gauk failo objektą su funkcija &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;&lt;br /&gt;
* Skaityk iš arba rašyk į failo objektą (priklausomai nuo to, kokiu režimu jis buvo atidarytas)&lt;br /&gt;
* Jeigu failui atidaryti nenaudojai funkcijos &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt;, turėsi jį uždaryti rankiniu būdu&lt;br /&gt;
&lt;br /&gt;
Pirmas žingsnis yra gauti failo objektą. Tai galima padaryti naudojant funkciją &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;. Formatas yra &amp;lt;code&amp;gt;failo_objektas = open(failo_pavadinimas, režimas)&amp;lt;/code&amp;gt;, kur &amp;lt;code&amp;gt;failo_objektas&amp;lt;/code&amp;gt; yra kintamasis, į kurį reikia įdėti failo objektą, &amp;lt;code&amp;gt;failo_pavadinimas&amp;lt;/code&amp;gt; yra eilutė su failo pavadinimu, o &amp;lt;code&amp;gt;režimas&amp;lt;/code&amp;gt; yra &amp;lt;code&amp;gt;&amp;quot;rt&amp;quot;&amp;lt;/code&amp;gt;, kad (ang. ''r''ead) skaityti failą kaip ''t''ekstą arba &amp;lt;code&amp;gt;&amp;quot;wt&amp;quot;&amp;lt;/code&amp;gt; (''w''rite) rašytį į failą kaip ''t''ekstą (ir keletą kitų režimų, kuriuos čia praleisime). Toliau galima iškviesti failų objektų funkcijas. Dvi dažniausiai naudojamos funkcijos yra &amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; (skaityti) ir &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; (rašyti). Funkcija &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; prideda eilutę prie failo pabaigos. Funkcija &amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; nuskaito kitą failo elementą ir grąžina jį kaip eilutę. Jei joks argumentas nepateiktas, funkcija grąžins visą failą (kaip padaryta pavyzdyje).&lt;br /&gt;
&lt;br /&gt;
O dabar čia yra nauja telefono numerių programos versija, kurią jau sukūrei anksčiau:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_numerius(numeriai):&lt;br /&gt;
    print(&amp;quot;Telefono numeriai:&amp;quot;)&lt;br /&gt;
    for k, v in numeriai.items():&lt;br /&gt;
        print(&amp;quot;Vardas:&amp;quot;, k, &amp;quot;\tTelefono numeris:&amp;quot;, v)&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
def pridėk_numerį(numeriai, vardas, numeris):&lt;br /&gt;
    numeriai[vardas] = numeris&lt;br /&gt;
&lt;br /&gt;
def surask_numerį(numeriai, vardas):&lt;br /&gt;
    if vardas in numeriai:&lt;br /&gt;
        return &amp;quot;Telefono numeris yra &amp;quot; + numeriai[vardas]&lt;br /&gt;
    else:&lt;br /&gt;
        return vardas + &amp;quot; nebuvo rastas&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def pašalink_numerį(numeriai, vardas):&lt;br /&gt;
    if vardas in numeriai:&lt;br /&gt;
        del numeriai[vardas]&lt;br /&gt;
    else:&lt;br /&gt;
        print(vardas,&amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def įkelti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    skaitymo_failas = open(failo_pavadinimas, &amp;quot;rt&amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        skaitoma_eilutė = skaitymo_failas.readline()&lt;br /&gt;
        if not skaitoma_eilutė:&lt;br /&gt;
            break&lt;br /&gt;
        skaitoma_eilutė = skaitoma_eilutė[:-1]&lt;br /&gt;
        vardas, numeris = skaitoma_eilutė.split(&amp;quot;,&amp;quot;)&lt;br /&gt;
        numeriai[vardas] = numeris&lt;br /&gt;
    skaitymo_failas.close()&lt;br /&gt;
&lt;br /&gt;
def išsaugoti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    išvesties_failas = open(failo_pavadinimas, &amp;quot;wt&amp;quot;)&lt;br /&gt;
    for k, v in numeriai.items():&lt;br /&gt;
        išvesties_failas.write(k + &amp;quot;,&amp;quot; + v + &amp;quot;\n&amp;quot;)&lt;br /&gt;
    išvesties_failas.close()&lt;br /&gt;
&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print('1. Spausdink telefonų numerius')&lt;br /&gt;
    print('2. Pridėk telefono numerį')&lt;br /&gt;
    print('3. Pašalink telefono numerį')&lt;br /&gt;
    print('4. Ieškok telefono numerio')&lt;br /&gt;
    print('5. Įkelk telefono numerius')&lt;br /&gt;
    print('6. Išsaugok telefono numerius')&lt;br /&gt;
    print('7. Išeik')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
numeriai = {}&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
spausdink_meniu()&lt;br /&gt;
while True:&lt;br /&gt;
    meniu_pasirinkimas = int(input(&amp;quot;Įvesk skaičių (1-7): &amp;quot;))&lt;br /&gt;
    if meniu_pasirinkimas == 1:&lt;br /&gt;
        spausdink_numerius(numeriai)&lt;br /&gt;
    elif meniu_pasirinkimas == 2:&lt;br /&gt;
        print(&amp;quot;Pridėk vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        numeris = input(&amp;quot;Telefono numeris: &amp;quot;)&lt;br /&gt;
        pridėk_numerį(numeriai, vardas, numeris)&lt;br /&gt;
    elif meniu_pasirinkimas == 3:&lt;br /&gt;
        print(&amp;quot;Pašalink vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        pašalink_numerį(numeriai, vardas)&lt;br /&gt;
    elif meniu_pasirinkimas == 4:&lt;br /&gt;
        print(&amp;quot;Ieškok telefono numerio&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        print(surask_numerį(numeriai, vardas))&lt;br /&gt;
    elif meniu_pasirinkimas == 5:&lt;br /&gt;
        failo_pavadinimas = input(&amp;quot;Failo pavadinimas, kurį nori įkelti: &amp;quot;)&lt;br /&gt;
        įkelti_numerius(numeriai, failo_pavadinimas)&lt;br /&gt;
    elif meniu_pasirinkimas == 6:&lt;br /&gt;
        failo_pavadinimas = input(&amp;quot;Failo pavadinimas išsaugojimui: &amp;quot;)&lt;br /&gt;
        išsaugoti_numerius(numeriai, failo_pavadinimas)&lt;br /&gt;
    elif meniu_pasirinkimas == 7:&lt;br /&gt;
        break&lt;br /&gt;
    else:&lt;br /&gt;
        spausdink_meniu()&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Viso!&amp;quot;)  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad dabar kodas papildomai išsaugo ir užkrauna failus. Štai dviejų programos vykdymų išvestis:&lt;br /&gt;
&lt;br /&gt;
 1. Spausdinti Telefono Numerius&lt;br /&gt;
 2. Pridėti Telefono Numerį&lt;br /&gt;
 3. Pašalinti Telefono Numerį&lt;br /&gt;
 4. Ieškoti Telefono Numerio&lt;br /&gt;
 5. Įkelk telefono numerius&lt;br /&gt;
 6. Išsaugok telefono numerius&lt;br /&gt;
 7. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): '''2'''&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: '''Liepa'''&lt;br /&gt;
 Telefono numeris: '''1234'''&lt;br /&gt;
 Įvesk skaičių (1-7): '''2'''&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: '''Benas'''&lt;br /&gt;
 Telefono numeris: '''4321'''&lt;br /&gt;
 Įvesk skaičių (1-7): '''1'''&lt;br /&gt;
 Telefono numeriai:&lt;br /&gt;
 Vardas: Liepa     Telefono numeris: 1234&lt;br /&gt;
 Vardas: Benas     Telefono numeris: 4321&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): '''6'''&lt;br /&gt;
 Failo pavadinimas išsaugojimui: '''numeriai.txt'''&lt;br /&gt;
 Įvesk skaičių (1-7): '''7'''&lt;br /&gt;
 Viso!&lt;br /&gt;
&lt;br /&gt;
 1. Spausdinti Telefono Numerius&lt;br /&gt;
 2. Pridėti Telefono Numerį&lt;br /&gt;
 3. Pašalinti Telefono Numerį&lt;br /&gt;
 4. Ieškoti Telefono Numerio&lt;br /&gt;
 5. Įkelk telefono numerius&lt;br /&gt;
 6. Išsaugok telefono numerius&lt;br /&gt;
 7. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): '''5'''&lt;br /&gt;
 Failo pavadinimas, kurį nori įkelti: '''numeriai.txt'''&lt;br /&gt;
 Įvesk skaičių (1-7): '''1'''&lt;br /&gt;
 Telefono numeriai:&lt;br /&gt;
 Vardas: Liepa     Telefono numeris: 1234&lt;br /&gt;
 Vardas: Benas     Telefono numeris: 4321&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-7): '''7'''&lt;br /&gt;
 Viso!&lt;br /&gt;
&lt;br /&gt;
Naujos šios programos dalys yra:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def įkelti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    skaitymo_failas = open(failo_pavadinimas, &amp;quot;rt&amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        skaitoma_eilutė = skaitymo_failas.readline()&lt;br /&gt;
        if not skaitoma_eilutė:&lt;br /&gt;
            break&lt;br /&gt;
        skaitoma_eilutė = skaitoma_eilutė[:-1]&lt;br /&gt;
        vardas, numeris = skaitoma_eilutė.split(&amp;quot;,&amp;quot;)&lt;br /&gt;
        numeriai[vardas] = numeris&lt;br /&gt;
    skaitymo_failas.close()&lt;br /&gt;
&lt;br /&gt;
def išsaugoti_numerius(numeriai, failo_pavadinimas):&lt;br /&gt;
    išvesties_failas = open(failo_pavadinimas, &amp;quot;wt&amp;quot;)&lt;br /&gt;
    for k, v in numeriai.items():&lt;br /&gt;
        išvesties_failas.write(k + &amp;quot;,&amp;quot; + v + &amp;quot;\n&amp;quot;)&lt;br /&gt;
    išvesties_failas.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pirmiausia pažiūrėkime į programos išsaugojimo dalį. Pirmiausia sukuriamas failo objektas su komanda &amp;lt;code&amp;gt;open(failo_pavadinimas, &amp;quot;wt&amp;quot;)&amp;lt;/code&amp;gt;. Toliau ji eina ir sukuria eilutę kiekvienam telefono numeriui su komanda &amp;lt;code&amp;gt;išvesties_failas.write(k + &amp;quot;,&amp;quot; + v + &amp;quot;\n&amp;quot;)&amp;lt;/code&amp;gt;. Tai išrašo eilutę, kurioje yra vardas, kablelis, telefono numeris, o po jos rašoma nauja eilutė.&lt;br /&gt;
&lt;br /&gt;
Užkrovimo dalis yra šiek tiek sudėtingesnė. Ji prasideda failo objekto gavimu. Tada ji naudoja &amp;lt;code&amp;gt;while True:&amp;lt;/code&amp;gt; ciklą, kad tęstųsi ciklas tol, kol bus aptiktas &amp;lt;code&amp;gt;break&amp;lt;/code&amp;gt; teiginys. Toliau nuskaitoma eilutė su kodu &amp;lt;code&amp;gt;skaitoma_eilutė = skaitymo_failas.readline()&amp;lt;/code&amp;gt;. Pasiekus failo pabaigą, funkcija &amp;lt;code&amp;gt;readline&amp;lt;/code&amp;gt; grąžins tuščią eilutę. Teiginys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tai patikrina ir panaudojant kodą &amp;lt;code&amp;gt;break&amp;lt;/code&amp;gt; nutraukia &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą. Žinoma, jei funkcija &amp;lt;code&amp;gt;readline&amp;lt;/code&amp;gt; negrąžintų naujos eilutės eilutės pabaigoje, nebūtų jokio būdo pasakyti, ar tuščia eilutė yra tuščia eilutė, ar failo pabaiga, todėl nauja eilutė įtraukiama į tai ką grąžina funckoja &amp;lt;code&amp;gt;readline&amp;lt;/code&amp;gt;. Taigi turime atsikratyti tos naujos eilutės. Eilutė &amp;lt;code&amp;gt;skaitoma_eilutė = skaitoma_eilutė[:-1]&amp;lt;/code&amp;gt; tai padaro už mus, išmesdama paskutinį simbolį. Toliau eilutė &amp;lt;code&amp;gt;vardas, numeris = skaitoma_eilutė.split(&amp;quot;,&amp;quot;)&amp;lt;/code&amp;gt; padalija eilutę ties kableliu į pavadinimą ir telefono numerį. Tada tai įtraukiama į &amp;lt;code&amp;gt;numeriai&amp;lt;/code&amp;gt; žodyną&lt;br /&gt;
&lt;br /&gt;
=== Pažangesnis .txt failų naudojimas ===&lt;br /&gt;
&lt;br /&gt;
Galbūt tau kyla toks klausimas: „Aš žinau, kaip skaityti ir rašyti tekstinį failą, bet ką daryti, jei noriu atspausdinti failą neatidaręs kitos programos?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Yra keletas skirtingų būdų, kaip tai padaryti. Iš tikrųjų, lengviausias būdas atidaro kitą programą, tačiau viskuo pasirūpina Python'o kodas ir vartotojui nereikia nurodyti spausdinamo failo. Šis metodas apima kitos programos subproceso (arba antrinis procesas; biblioteka 'subprocess') iškvietimą. &lt;br /&gt;
&lt;br /&gt;
Prisimeni failą, į kurį įrašėme išvestį aukščiau esančioje programoje? Panaudokime tą failą.&lt;br /&gt;
Turėk omenyje, kad norint išvengti klaidų, ši programa naudoja sąvokas iš kito skyriaus. Nedvejodamas gali dar kartą peržiūrėti šį pavyzdį po kito skyriaus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
import subprocess&lt;br /&gt;
def pagrindinis():&lt;br /&gt;
    try:&lt;br /&gt;
        print(&amp;quot;Ši maža programa iškviečia spausdinimo funkciją Notepad programoje&amp;quot;)&lt;br /&gt;
        #Atspausdinkime failą, kurį sukūrėme aukščiau esančioje programoje&lt;br /&gt;
        subprocess.call(['notepad','/p','numeriai.txt'])&lt;br /&gt;
    except WindowsError:&lt;br /&gt;
        print(&amp;quot;Pakviesto subproceso nėra arba jo negalima iškviesti.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pagrindinis()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;subprocess.call&amp;lt;/code&amp;gt; turi tris argumentus. Pirmasis argumentas šio pavyzdžio kontekste turėtų būti programos pavadinimas, iš kurios nori iškviesti spausdinimo subprocesą. Antrasis argumentas turėtų būti konkretus tos programos subprocesas. Kad būtų paprasčiau, tiesiog suprask, kad šioje programoje &amp;lt;code&amp;gt;'/p'&amp;lt;/code&amp;gt; yra subprocesas, naudojamas norint pasiekti spausdintuvą per nurodytą programą. Paskutinis argumentas turėtų būti failo pavadinimas, kurį norite siųsti į spausdinimo subprocesą. Šiuo atveju tai yra tas pats failas, naudotas anksčiau šiame skyriuje.&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Dabar pakeisk pažymių programą iš skyriaus [[../Vadovėlis/Dictionaries]], kad ji naudotų failus mokinių pažymiams saugoti.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
užduotys = ['nd sk 1', 'nd sk 2', 'viktorina   ', 'nd sk 3', 'testas']&lt;br /&gt;
mokiniai = { }&lt;br /&gt;
&lt;br /&gt;
def įkelti_pažymius(pažymių_failas):&lt;br /&gt;
    įvesties_failas = open(pažymių_failas, &amp;quot;r&amp;quot;)&lt;br /&gt;
    pažymiai = [ ]&lt;br /&gt;
    while True:&lt;br /&gt;
        mokinys_ir_pažymys = įvesties_failas.readline()&lt;br /&gt;
        mokinys_ir_pažymys = mokinys_ir_pažymys[:-1]&lt;br /&gt;
        if not mokinys_ir_pažymys:&lt;br /&gt;
            break&lt;br /&gt;
        else:&lt;br /&gt;
            mokinio_vardas, mokinio_pažymiai = mokinys_ir_pažymys.split(&amp;quot;,&amp;quot;)&lt;br /&gt;
            mokinio_pažymiai = mokinio_pažymiai.split(&amp;quot; &amp;quot;)&lt;br /&gt;
            mokiniai[mokinio_vardas] = mokinio_pažymiai&lt;br /&gt;
    įvesties_failas.close()&lt;br /&gt;
    print(&amp;quot;Pažymiai įkelti.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def išsaugoti_pažymius(pažymių_failas):&lt;br /&gt;
    išvesties_failas = open(pažymių_failas, &amp;quot;w&amp;quot;)&lt;br /&gt;
    for k, v in mokiniai.items():&lt;br /&gt;
        išvesties_failas.write(k + &amp;quot;,&amp;quot;)&lt;br /&gt;
        for x in v:&lt;br /&gt;
            išvesties_failas.write(str(x) + &amp;quot; &amp;quot;)&lt;br /&gt;
        išvesties_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
    išvesties_failas.close()&lt;br /&gt;
    print(&amp;quot;Pažymiai išsaugoti.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print(&amp;quot;1. Pridėk mokinį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2. Pašalink mokinį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3. Įkrauti pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;4. Įrašyk pažymį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;5. Spausdink pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;6. Įšsaugoti pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;7. Spausdink meniu&amp;quot;)&lt;br /&gt;
    print(&amp;quot;9. Išeik&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_visus_pažymius():&lt;br /&gt;
    if mokiniai:&lt;br /&gt;
        raktai = sorted(mokiniai.keys())&lt;br /&gt;
        print('\t', end=' ')&lt;br /&gt;
        for x in užduotys:&lt;br /&gt;
            print(x, '\t', end=' ')&lt;br /&gt;
        print()&lt;br /&gt;
        for x in raktai:&lt;br /&gt;
            print(x, '\t', end=' ')&lt;br /&gt;
            pažymiai = mokiniai[x]&lt;br /&gt;
            spausdink_pažymius(pažymiai)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Neradau pažymių spausdinimui.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_pažymius(pažymiai):&lt;br /&gt;
    for x in pažymiai:&lt;br /&gt;
        print(x, '\t', end=' ')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
spausdink_meniu()&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
while meniu_pasirinkimas != 9:&lt;br /&gt;
    print()&lt;br /&gt;
    meniu_pasirinkimas = int(input(&amp;quot;Meniu pasirinkimas: &amp;quot;))&lt;br /&gt;
    if meniu_pasirinkimas == 1:&lt;br /&gt;
        vardas = input(&amp;quot;Pridėk mokinį: &amp;quot;)&lt;br /&gt;
        mokiniai[vardas] = [0] * len(užduotys)&lt;br /&gt;
    elif meniu_pasirinkimas == 2:&lt;br /&gt;
        vardas = input(&amp;quot;Pašalink mokinį: &amp;quot;)&lt;br /&gt;
        if vardas in mokiniai:&lt;br /&gt;
            del mokiniai[vardas]&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Mokinys vardu:&amp;quot;, vardas, &amp;quot; nerastas.&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas == 3:&lt;br /&gt;
        pažymių_failas = input(&amp;quot;Įkrauti pažymius iš kokio failo? &amp;quot;)&lt;br /&gt;
        įkelti_pažymius(pažymių_failas)&lt;br /&gt;
    elif meniu_pasirinkimas == 4:&lt;br /&gt;
        print(&amp;quot;Įrašyk pažymį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Mokinys: &amp;quot;)&lt;br /&gt;
        if vardas in mokiniai:&lt;br /&gt;
            pažymiai = mokiniai[vardas]&lt;br /&gt;
            print(&amp;quot;Įrašyk mokinio pažymį&amp;quot;)&lt;br /&gt;
            print(&amp;quot;Įrašyk 0 (nulį), kad išeitum&amp;quot;)&lt;br /&gt;
            for i,x in enumerate(užduotys):&lt;br /&gt;
                print(i + 1, x, '\t', end=' ')&lt;br /&gt;
            print()&lt;br /&gt;
            spausdink_pažymius(pažymiai)&lt;br /&gt;
            kuris = 1234&lt;br /&gt;
            while kuris != -1:&lt;br /&gt;
                kuris = int(input(&amp;quot;Pažymys kuri nori pakeisti: &amp;quot;))&lt;br /&gt;
                kuris -= 1&lt;br /&gt;
                if 0 &amp;lt;= kuris &amp;lt; len(pažymiai):&lt;br /&gt;
                    pažymys = int(input(&amp;quot;Pažymys: &amp;quot;))&lt;br /&gt;
                    pažymiai[kuris] = pažymys&lt;br /&gt;
                elif kuris != -1:&lt;br /&gt;
                    print(&amp;quot;Klaidingas pažymys&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Mokinys nerastas&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas == 5:&lt;br /&gt;
        spausdink_visus_pažymius()&lt;br /&gt;
    elif meniu_pasirinkimas == 6:&lt;br /&gt;
        pažymių_failas = input(&amp;quot;Į kokį failą išsaugoti pažymius? &amp;quot;)&lt;br /&gt;
        išsaugoti_pažymius(pažymių_failas)&lt;br /&gt;
    elif meniu_pasirinkimas != 9:&lt;br /&gt;
        spausdink_meniu()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Revenge of the Strings |next=Dealing with the imperfect}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3562</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3562"/>
		<updated>2021-11-22T14:53:16Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pataisytas pirmas sakinys&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Aš tikiu, kad turėčiau pradėti kiekvieną skyrių nuo apšilimo pratimo. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absoliučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;. Tada jis skaito eilutę &amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;. Kitu atveju, jis vykdo eilutę &amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar „reiškinys“ &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra teisinga ar klaidinga. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių „bloko“, kuris vykdomas tik jei reiškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių „blokas“. Antrasis sakinių blokas yra vykdomas tik jei reiškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Reiškinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai &amp;lt;code&amp;gt;else if&amp;lt;/code&amp;gt; sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra klaidinga, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra teisinga, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvestis:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvestis&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidžia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif skaicius % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Parašyk programą, kuri prašo naudotojo įvesti savo vardą. Jei jis įveda tavo vardą, išvesk „Tai puikus vardas“. Jei jie įveda &amp;quot;Jonas Jonaitis“ arba „Petras Petraitis“, išvesk kokį nors juokingą tekstą. Kitu atveju, išvesk „Tavo vardas yra labai gražus“.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
vardas = input(&amp;quot;Tavo vardas: &amp;quot;)&lt;br /&gt;
if vardas == 'Lukas':&lt;br /&gt;
    print(&amp;quot;Tai puikus vardas.&amp;quot;)&lt;br /&gt;
elif vardas == 'Jonas Jonaitis':&lt;br /&gt;
    print(&amp;quot;... juokingas tekstas apie Joną.&amp;quot;)&lt;br /&gt;
elif vardas == 'Petras Petraitis':&lt;br /&gt;
    print(&amp;quot;... juokingas tekstas apie Petrą.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Tavo vardas yra labai gražus.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Pakeisk aukščiau esančią „daugiau_maziau.py“ programą, kad ji papildomai skaičiuotų, kiek kartų naudotojas įvedė neteisingą skaičių. Jei taip nutiko daugiau, nei tris kartus, programos pabaigoje išvesk „Tai buvo sudėtinga.“, o kitu atveju - „Gerai padirbėjai!“&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
kiekis = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
    kiekis = kiekis + 1&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if kiekis &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;Tai buvo sudėtinga.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Gerai padirbėjai!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri prašo įvesti du skaičius. Jei skaičių suma yra didesnė nei 100, išvesk „Tai yra didelis skaičius“.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius1 = float(input(&amp;quot;Pirmas skaičius: &amp;quot;))&lt;br /&gt;
skaicius2 = float(input(&amp;quot;Antras skaičius: &amp;quot;))&lt;br /&gt;
if skaicius1 + skaicius2 &amp;gt; 100:&lt;br /&gt;
    print(&amp;quot;Skaičių suma yra didelis skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/%C5%BDodynai&amp;diff=3524</id>
		<title>Python Vadovėlis/Žodynai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/%C5%BDodynai&amp;diff=3524"/>
		<updated>2021-11-16T13:56:37Z</updated>

		<summary type="html">&lt;p&gt;Monika: Maži stiliaus pataisymai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Šis skyrius yra apie žodynus. Žodynai turi raktus ir reikšmes. Raktai naudojami reikšmėms rasti. Štai žodyno pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print('1. Spausdink telefonų numerius')&lt;br /&gt;
    print('2. Pridėk telefono numerį')&lt;br /&gt;
    print('3. Pašalink telefono numerį')&lt;br /&gt;
    print('4. Ieškok telefono numerio')&lt;br /&gt;
    print('5. Išeik')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
numeriai = {}&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
spausdink_meniu ()&lt;br /&gt;
while meniu_pasirinkimas != 5:&lt;br /&gt;
    meniu_pasirinkimas = int(input(&amp;quot;Įvesk skaičių (1-5): &amp;quot;))&lt;br /&gt;
    if meniu_pasirinkimas == 1:&lt;br /&gt;
        print(&amp;quot;Telefono numeriai: &amp;quot;)&lt;br /&gt;
        for x in numeriai.keys():&lt;br /&gt;
            print(&amp;quot;Vardas: &amp;quot;, x, &amp;quot;\tTelefono numeris:&amp;quot;, numeriai[x])&lt;br /&gt;
        print()&lt;br /&gt;
    elif meniu_pasirinkimas == 2:&lt;br /&gt;
        print(&amp;quot;Pridėk vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        numeris = input(&amp;quot;Telefono numeris: &amp;quot;)&lt;br /&gt;
        numeriai[vardas] = numeris &lt;br /&gt;
    elif meniu_pasirinkimas == 3:&lt;br /&gt;
        print(&amp;quot;Pašalink vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        if vardas in numeriai:&lt;br /&gt;
            del numeriai[vardas]&lt;br /&gt;
        else:&lt;br /&gt;
            print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas == 4:&lt;br /&gt;
        print(&amp;quot;Ieškok telefono numerio&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
        if vardas in numeriai:&lt;br /&gt;
            print(&amp;quot;Telefono numeris yra &amp;quot;, numeriai[vardas])&lt;br /&gt;
        else:&lt;br /&gt;
            print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas  != 5:&lt;br /&gt;
        print_menu()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O čia mano išvestis:&lt;br /&gt;
&lt;br /&gt;
 1. Spausdink telefonų numerius&lt;br /&gt;
 2. Pridėk telefono numerį&lt;br /&gt;
 3. Pašalink telefono numerį&lt;br /&gt;
 4. Ieškok telefono numerio&lt;br /&gt;
 5. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-5): '''2'''&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: '''Benas'''&lt;br /&gt;
 Telefono numeris: '''869935951'''&lt;br /&gt;
 Įvesk skaičių (1-5): '''2'''&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: '''Liepa'''&lt;br /&gt;
 Telefono numeris: '''869935952'''&lt;br /&gt;
 Įvesk skaičių (1-5): '''2'''&lt;br /&gt;
 Pridėk vardą ir telefono numerį&lt;br /&gt;
 Vardas: '''Markas'''&lt;br /&gt;
 Telefono numeris: '''869935957'''&lt;br /&gt;
 Įvesk skaičių (1-5): '''1'''&lt;br /&gt;
 Telefono numeriai:&lt;br /&gt;
 Vardas: Benas         Telefono numeris: 869935951&lt;br /&gt;
 Vardas: Liepa         Telefono numeris: 869935952&lt;br /&gt;
 Vardas: Markas        Telefono numeris: 869935957&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-5): '''4'''&lt;br /&gt;
 Ieškok telefono numerio&lt;br /&gt;
 Vardas: '''Benas'''&lt;br /&gt;
 Telefono numeris yra 869935951&lt;br /&gt;
 Įvesk skaičių (1-5): '''3'''&lt;br /&gt;
 Pašalink telefono numerį&lt;br /&gt;
 Vardas: '''Markas'''&lt;br /&gt;
 Įvesk skaičių (1-5): '''1'''&lt;br /&gt;
 Telefono numeriai:&lt;br /&gt;
 Vardas: Liepa      Telefono numeris: 869935952&lt;br /&gt;
 Vardas: Benas      Telefono numeris: 869935951&lt;br /&gt;
 &lt;br /&gt;
 Įvesk skaičių (1-5): '''5'''&lt;br /&gt;
&lt;br /&gt;
Ši programa yra panaši į vardų sąrašą, pateiktą prieš tai buvusiame skyriuje apie sąrašus.  Štai kaip veikia programa.  Pirmiausia, funkcija &amp;lt;code&amp;gt;spausdink_meniu&amp;lt;/code&amp;gt; yra apibrėžiama.  &amp;lt;code&amp;gt;spausdink_meniu&amp;lt;/code&amp;gt; tiesiog spausdina meniu, kuris vėliau du kartus naudojamas programoje.  Po to, pateikiama keistai atrodanti eilutė &amp;lt;code&amp;gt;numeriai = {}&amp;lt;/code&amp;gt;.  Ši eilutė Python'ui pasako, kad &amp;lt;code&amp;gt;numeriai&amp;lt;/code&amp;gt; yra žodynas.  Kitos kelios eilutės tiesiog padaro taip, kad meniu veiktų.  Eilutės&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
for x in numeriai.keys():&lt;br /&gt;
    print(&amp;quot;Vardas: &amp;quot;, x, &amp;quot;\tTelefono numeris:&amp;quot;, numeriai[x])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
eina per žodyną ir spausdina visą informaciją.  Funkcija &amp;lt;code&amp;gt; numeriai.keys()&amp;lt;/code&amp;gt; grąžina sąrašą, kuris yra vėliau naudojamas &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; cikle.  Sąrašas grąžinamas &amp;lt;code&amp;gt;keys()&amp;lt;/code&amp;gt; metodo pagalba neturi jokio eiliškumo, todėl, jei tu nori, kad jis būtų abėcėlės tvarka, jis turi būti surūšiuotas.  Panašiai kaip sąrašai, teiginys &amp;lt;code&amp;gt;numeriai[x]&amp;lt;/code&amp;gt; naudojamas norint pasiekti konkretų žodyno narį.  Žinoma, šiuo atveju &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; yra eilutė.  Toliau, eilutė &amp;lt;code&amp;gt;numeriai[vardas] = telefonas&amp;lt;/code&amp;gt; prideda vardą ir telefono numerį į žodyną.  Jei &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt; jau būtų buvęs žodyne, &amp;lt;code&amp;gt;telefonas&amp;lt;/code&amp;gt; pakeistų, prieš tai buvusią reikšmę.  Toliau eilutės&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if vardas in numeriai:&lt;br /&gt;
    del numeriai[vardas]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
tikrina, ar vardas yra žodyne, ir jei yra, pašalina.  Operatorius &amp;lt;code&amp;gt;vardas in numeriai&amp;lt;/code&amp;gt; grąžina &amp;lt;i&amp;gt;teisinga&amp;lt;/i&amp;gt; (angl. true), jei &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt; yra &amp;lt;code&amp;gt;numeriai&amp;lt;/code&amp;gt; žodyne, bet kitu atveju grąžina &amp;lt;i&amp;gt;neteisinga&amp;lt;/i&amp;gt; (angl. false).  Eilutė &amp;lt;code&amp;gt;del numeriai[vardas]&amp;lt;/code&amp;gt; pašalina raktą &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt; ir su tuo raktu susietą reikšmę. Eilutės&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if vardas in numeriai:&lt;br /&gt;
    print(&amp;quot;Telefono numeris yra &amp;quot;, numeriai[vardas])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
patikrina, ar žodynas turi tam tikrą raktą ir jei žodynas turi tą raktą, išspausdina su juo susietą numerį.  Galiausiai, jei meniu pasirinkimas negalioja, pagrindinis meniu yra atspausdinamas, kad tu galėtum juo pasigrožėti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- \label{firstgrades}--&amp;gt;&lt;br /&gt;
Apibendrinimas: žodynai turi raktus ir reikšmes.  Raktai gali būti eilutės arba&lt;br /&gt;
numeriai.  Raktai nurodo reikšmes.  Reikšmės gali būti bet kokio tipo kintamieji&lt;br /&gt;
(įskaitant sąrašus ar net žodynus (žinoma, tuose žodynuose ar sąrašuose&lt;br /&gt;
gali būti patys žodynai ar sąrašai (baisu, ane? :-)&lt;br /&gt;
))).  Štai yra pavyzdys, kai naudojamas sąrašas žodyne:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
max_taškai = [25, 25, 50, 25, 100]&lt;br /&gt;
užduotys = ['nd sk 1', 'nd sk 2', 'viktorina   ', 'nd sk 3', 'testas']&lt;br /&gt;
mokiniai = {'#Max': max_taškai}&lt;br /&gt;
&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print(&amp;quot;1. Pridėk mokinį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;2. Pašalink mokinį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;3. Spausdink pažymius&amp;quot;)&lt;br /&gt;
    print(&amp;quot;4. Įrašyk pažymį&amp;quot;)&lt;br /&gt;
    print(&amp;quot;5. Spausdink meniu&amp;quot;)&lt;br /&gt;
    print(&amp;quot;6. Išeik&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def spausdink_visus_pažymius():&lt;br /&gt;
    print('\t', end=' ')&lt;br /&gt;
    for i in range(len(užduotys)):&lt;br /&gt;
        print(užduotys[i], '\t', end=' ')&lt;br /&gt;
    print()&lt;br /&gt;
    raktai = list(mokiniai.keys())&lt;br /&gt;
    raktai.sort()&lt;br /&gt;
    for x in raktai:&lt;br /&gt;
        print(x, '\t', end=' ')&lt;br /&gt;
        pažymiai = mokiniai[x]&lt;br /&gt;
        spausdink_pažymius(pažymiai)&lt;br /&gt;
&lt;br /&gt;
def spausdink_pažymius(pažymiai):&lt;br /&gt;
    for i in range(len(pažymiai)):&lt;br /&gt;
        print(pažymiai[i], '\t', end=' ')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
spausdink_meniu()&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
while meniu_pasirinkimas != 6:&lt;br /&gt;
    print()&lt;br /&gt;
    meniu_pasirinkimas = int(input(&amp;quot;Meniu pasirinkimas (1-6): &amp;quot;))&lt;br /&gt;
    if meniu_pasirinkimas == 1:&lt;br /&gt;
        name = input(&amp;quot;Pridėk mokinį: &amp;quot;)&lt;br /&gt;
        mokiniai[vardas] = [0] * len(max_taškai)&lt;br /&gt;
    elif meniu_pasirinkimas == 2:&lt;br /&gt;
        vardas = input(&amp;quot;Pašalink mokinį: &amp;quot;)&lt;br /&gt;
        if vardas in mokiniai:&lt;br /&gt;
            del mokiniai[vardas]&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Vardas: &amp;quot;, vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas == 3:&lt;br /&gt;
        spausdink_visus_pažymius()&lt;br /&gt;
    elif meniu_pasirinkimas == 4:&lt;br /&gt;
        print(&amp;quot;Įrašyk pažymį&amp;quot;)&lt;br /&gt;
        vardas = input(&amp;quot;Mokinys: &amp;quot;)&lt;br /&gt;
        if vardas in mokiniai:&lt;br /&gt;
            pažymiai = mokiniai[vardas]&lt;br /&gt;
            print(&amp;quot;Įrašyk mokinio pažymį&amp;quot;)&lt;br /&gt;
            print(&amp;quot;Įrašyk 0 (nulį), kad išeitum&amp;quot;)&lt;br /&gt;
            for i in range(len(užduotys)):&lt;br /&gt;
                print(i + 1, užduotys[i], '\t', end=' ')&lt;br /&gt;
            print()&lt;br /&gt;
            spausdink_pažymius(pažymiai)&lt;br /&gt;
            kuris = 1234&lt;br /&gt;
            while kuris != -1:&lt;br /&gt;
                kuris = int(input(&amp;quot;Pakeisk kuris pažymį: &amp;quot;))&lt;br /&gt;
                kuris -= 1    #tas pats kaip ir: kuris = kuris - 1&lt;br /&gt;
                if 0 &amp;lt;= kuris &amp;lt; len(pažymiai):&lt;br /&gt;
                    pažymys = int(input(&amp;quot;Pažymys: &amp;quot;))&lt;br /&gt;
                    pažymiai[kuris] = pažymys&lt;br /&gt;
                elif kuris != -1:&lt;br /&gt;
                    print(&amp;quot;Klaidingas pažymys&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Mokinys nerastas&amp;quot;)&lt;br /&gt;
    elif meniu_pasirinkimas != 6:&lt;br /&gt;
        spausdink_meniu()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o štai čia yra išvestis:&lt;br /&gt;
&lt;br /&gt;
 1. Pridėk mokinį&lt;br /&gt;
 2. Pašalink mokinį&lt;br /&gt;
 3. Spausdink pažymius&lt;br /&gt;
 4. Įrašyk pažymį&lt;br /&gt;
 5. Spausdink meniu&lt;br /&gt;
 6. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Meniu pasirinkimas (1-6): '''3'''&lt;br /&gt;
        nd sk 1         nd sk 2       viktorina       nd sk 3            testas &lt;br /&gt;
 #Max    25              25              50              25              100 &lt;br /&gt;
 &lt;br /&gt;
 Meniu pasirinkimas (1-6): '''5'''&lt;br /&gt;
 1. Pridėk mokinį&lt;br /&gt;
 2. Pašalink mokinį&lt;br /&gt;
 3. Spausdink pažymius&lt;br /&gt;
 4. Įrašyk pažymį&lt;br /&gt;
 5. Spausdink meniu&lt;br /&gt;
 6. Išeik&lt;br /&gt;
 &lt;br /&gt;
 Meniu pasirinkimas (1-6): '''1'''&lt;br /&gt;
 Pridėk mokinį: '''Markas'''&lt;br /&gt;
 &lt;br /&gt;
 Meniu pasirinkimas (1-6): '''4'''&lt;br /&gt;
 Įrašyk pažymį&lt;br /&gt;
 Mokinys: '''Markas'''&lt;br /&gt;
 Įrašyk mokinio pažymį&lt;br /&gt;
 Įrašyk 0 (nulį), kad išeitum&lt;br /&gt;
 1   nd sk 1     2   nd sk 2     3   viktorina        4   nd sk 3     5   testas &lt;br /&gt;
 0               0               0               0               0 &lt;br /&gt;
 Pakeisk kuris pažymį: '''1'''&lt;br /&gt;
 Pažymys: '''25'''&lt;br /&gt;
 Pakeisk kuris pažymį: '''2'''&lt;br /&gt;
 Pažymys: '''24'''&lt;br /&gt;
 Pakeisk kuris pažymį: '''3'''&lt;br /&gt;
 Pažymys: '''45'''&lt;br /&gt;
 Pakeisk kuris pažymį: '''4'''&lt;br /&gt;
 Pažymys: '''23'''&lt;br /&gt;
 Pakeisk kuris pažymį: '''5'''&lt;br /&gt;
 Pažymys: '''95'''&lt;br /&gt;
 Pakeisk kuris pažymį: '''0'''&lt;br /&gt;
 &lt;br /&gt;
 Meniu pasirinkimas (1-6): '''3'''&lt;br /&gt;
           nd sk 1         nd sk 2         viktorina       nd sk 3          testas&lt;br /&gt;
 #Max        25              25              50              25              100&lt;br /&gt;
 Markas      25              24              45              23              95 &lt;br /&gt;
 &lt;br /&gt;
 Meniu pasirinkimas (1-6): '''6'''&lt;br /&gt;
&lt;br /&gt;
Štai kaip veikia programa.  Iš esmės, kintamasis &amp;lt;code&amp;gt;mokiniai&amp;lt;/code&amp;gt; yra žodynas, kurio raktai yra mokinių vardas, o reikšmės - jų pažymiai.  Pirmosios dvi eilutės tik sukuria du sąrašus.&lt;br /&gt;
Kita eilutė &amp;lt;code&amp;gt;mokiniai = {'#Max': max_taškai}&amp;lt;/code&amp;gt; sukuria naują&lt;br /&gt;
žodyną su raktu {&amp;lt;code&amp;gt;#Max&amp;lt;/code&amp;gt;}, o reikšmė yra &amp;lt;code&amp;gt;[25, 25, 50, 25, 100]&amp;lt;/code&amp;gt; (nes &amp;lt;code&amp;gt;max_taškai&amp;lt;/code&amp;gt; ir buvo tai, kai priskyrimas buvo padarytas) (aš naudoju raktą &amp;lt;code&amp;gt;#Max&amp;lt;/code&amp;gt;, nes &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; yra surūšiuotas prieš bet kokias abėcėlės raides).  Toliau, &amp;lt;code&amp;gt;spausdink_meniu&amp;lt;/code&amp;gt; yra apibrėžtas.  Po to, &amp;lt;code&amp;gt;spausdink_visus_pažymius&amp;lt;/code&amp;gt; funkcija yra apibrėžta žemiau esančiose &lt;br /&gt;
eilutėse:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_visus_pažymius():&lt;br /&gt;
    print('\t',end=&amp;quot; &amp;quot;)&lt;br /&gt;
    for i in range(len(užduotys)):&lt;br /&gt;
        print(užduotys[i], '\t',end=&amp;quot; &amp;quot;)&lt;br /&gt;
    print()&lt;br /&gt;
    raktai = list(mokiniai.keys())&lt;br /&gt;
    keys.sort()&lt;br /&gt;
    for x in raktai:&lt;br /&gt;
        print(x, '\t',end=' ')&lt;br /&gt;
        pažymiai = mokiniai[x]&lt;br /&gt;
        spausdink_pažymius(pažymiai)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, į tai, kaip pirmieji raktai yra išimami iš &amp;lt;code&amp;gt;mokiniai&amp;lt;/code&amp;gt; žodyno su &amp;lt;code&amp;gt;raktai&amp;lt;/code&amp;gt; funkcija eilutėje &amp;lt;code&amp;gt;raktai = list(mokiniai.keys())&amp;lt;/code&amp;gt;.  &amp;lt;code&amp;gt;raktai&amp;lt;/code&amp;gt; yra iteruojamasis ir yra paverčiamas į sąrašą, tam kad būtų galima naudoti visas sąrašų funkcijas.  Toliau raktai yra surūšiuojami eilutėje &amp;lt;code&amp;gt;raktai.sort()&amp;lt;/code&amp;gt;.  &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; yra naudojamas pereiti per visus raktus.  Pažymiai yra saugomi kaip sąrašas žodyno viduje, todėl priskyrimas &amp;lt;code&amp;gt;pažymiai = mokiniai[x]&amp;lt;/code&amp;gt; duoda &amp;lt;code&amp;gt;pažymiai&amp;lt;/code&amp;gt; sąrašą, kuris yra saugomas &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; rakte.  Funkcija &amp;lt;code&amp;gt;spausdink_pažymius&amp;lt;/code&amp;gt; tiesiog spausdina sąrašą ir yra apibrėžtas keliomis eilutėmis žemiau.&lt;br /&gt;
&lt;br /&gt;
Tolimesnės programos eilutės įgyvendina įvairius meniu pasirinkimus.  Eilutė &amp;lt;code&amp;gt;mokiniai[vardas] = [0] * len(max_taškai)&amp;lt;/code&amp;gt; prideda mokinį prie savo vardo rakto.  Žymėjimas &amp;lt;code&amp;gt;[0] * len(max_taškai)&amp;lt;/code&amp;gt; tiesiog sukuria sąrašą 0-ių, kuris yra tokio pat ilgio kaip ir &amp;lt;code&amp;gt;max_taškai&amp;lt;/code&amp;gt; sąrašas.  &lt;br /&gt;
&lt;br /&gt;
Pašalinti mokinį pasirinkimas tiesiog ištrina mokinį, panašiai kaip ir telefonų knygutės pavyzdyje.  Įrašyti mokinį pasirinkimas yra šiek tiek sudėtingesnis.  Pažymiai yra  gaunami eilutėje &amp;lt;code&amp;gt;pažymiai = mokiniai[vardas]&amp;lt;/code&amp;gt;, ji gauna nuorodą į mokinio &amp;lt;code&amp;gt;vardas&amp;lt;/code&amp;gt; pažymius.  Tada pažymys yra  įrašomas eilutėje &amp;lt;code&amp;gt;pažymiai[kuris] = pažymys&amp;lt;/code&amp;gt;.  Tu gali pastebėti, kad &amp;lt;code&amp;gt;pažymiai&amp;lt;/code&amp;gt; niekada negrąžinami į mokinių žodyną (kaip ir ne  &amp;lt;code&amp;gt;mokiniai[vardas] = pažymiai&amp;lt;/code&amp;gt;).  Trūkstamo teiginio priežastis yra ta, kad &amp;lt;code&amp;gt;pažymiai&amp;lt;/code&amp;gt; iš tiesų yra kitas pavadinimas skirtas &amp;lt;code&amp;gt;mokiniai[vardas]&amp;lt;/code&amp;gt; ir dėl to keičiant &amp;lt;code&amp;gt;pažymiai&amp;lt;/code&amp;gt; keičiasi ir &amp;lt;code&amp;gt;mokiniai[vardas]&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Žodynai suteikia lengvą metodą susieti raktus su reikšmėmis. Tai gali būti naudojama norint lengvai sekti duomenis, pridedamus prie įvairių raktų.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Boolean Expressions |next=Using Modules}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Rekursija&amp;diff=3523</id>
		<title>Python Vadovėlis/Rekursija</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Rekursija&amp;diff=3523"/>
		<updated>2021-11-16T13:33:16Z</updated>

		<summary type="html">&lt;p&gt;Monika: Maži stiliau pataisymai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rekursija ==&lt;br /&gt;
&lt;br /&gt;
Python'o programoje rekursinė funkcija yra funkcija, kuri iškviečia pati save.&lt;br /&gt;
&lt;br /&gt;
=== Įvadas į rekursiją ===&lt;br /&gt;
&lt;br /&gt;
Iki šiol Python'o programoje matėme funkcijas, kurios iškviečia kitas funkcijas. Tačiau funkcija gali iškviesti ir pati save. Pažvelkime į paprastą pavyzdį.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Program by Mitchell Aikens&lt;br /&gt;
# No Copyright&lt;br /&gt;
# 2010&lt;br /&gt;
&lt;br /&gt;
sk = 0&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    skaitliukas(sk)&lt;br /&gt;
&lt;br /&gt;
def skaitliukas(sk):&lt;br /&gt;
    print(sk)&lt;br /&gt;
    sk+= 1&lt;br /&gt;
    skaitliukas(sk)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei šią programą paleistum IDLE kodo redaktoriuje, ji veiktų amžinai. Vienintelis būdas sustabdyti ciklą būtų nutraukti vykdymą paspausdami Ctrl + C klaviatūroje. Tai yra begalinės rekursijos pavyzdys. (Kai kurie naudotojai pranešė apie esamos IDLE kodo redaktoriaus sistemos gedimą, dėl kurio Ctrl + C iškelta išimtis taip pat pradeda veikti. Jei taip nutinka, paspausk Ctrl + F6 ir IDLE kodo redaktoriaus terminalas turėtų pasileisti iš naujo.)&lt;br /&gt;
&lt;br /&gt;
Galima ginčytis, kad rekursija yra tik dar vienas būdas atlikti tą patį dalyką kaip ir naudojant ciklą. Kai kuriais atvejais tai yra visiškai teisinga. Tačiau yra ir kitų rekursijos naudojimo būdų, kurie yra labai tinkami, o  &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklai gali būti ne pats geriausias variantas.&lt;br /&gt;
&lt;br /&gt;
Rekursiją gali būti valdoma, kaip ir ciklai. Pažvelk į valdomo ciklo pavyzdį.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Program by Mitchell Aikens&lt;br /&gt;
# No copyright&lt;br /&gt;
# 2012&lt;br /&gt;
def main():&lt;br /&gt;
    ciklosk= int(input(&amp;quot;Kiek kartų norėtum paleisti ciklą?\n&amp;quot;))&lt;br /&gt;
    skaitliukas = 1&lt;br /&gt;
    recurr(ciklosk,skaitliukas)&lt;br /&gt;
&lt;br /&gt;
def recurr(ciklosk,skaitliukas):&lt;br /&gt;
    if ciklosk&amp;gt; 0:&lt;br /&gt;
        print(&amp;quot;Tai yra ciklo iteracija&amp;quot;,skaitliukas)&lt;br /&gt;
        recurr(ciklosk- 1,skaitliukas + 1)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Ciklas yra pabaigtas.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aukščiau naudojami argumentai/parametrai rekursijų skaičiui valdyti. Tiesiog naudok tai, ką jau žinai apie funkcijas, ir sek programos eigą. Tai paprasta išsiaiškinti. Jei kyla problemų, grįžk į [[Non-Programmer's Tutorial for Python 3/Advanced Functions Example]].&lt;br /&gt;
&lt;br /&gt;
== Praktiniai rekursijos pritaikymai ==&lt;br /&gt;
&lt;br /&gt;
Dažnai rekursija yra studijuojama pažengusiu informatikos lygiu. Rekursija dažniausiai naudojama sprendžiant sudėtingas problemas, kurias galima suskirstyti į mažesnes, identiškas problemas. Norint išspręsti problemą, rekursija nebūtina. Problemos, kurias galima išspręsti naudojant rekursiją, greičiausiai gali būti išspręstos ir su ciklais. Be to, ciklas gali būti efektyvesnis nei rekursinė funkcija. Rekursinėms funkcijoms reikia daugiau atminties ir išteklių nei ciklams, todėl daugeliu atvejų jos yra mažiau efektyvios. Šis naudojimo reikalavimas kartais vadinamas &amp;lt;i&amp;gt;overhead&amp;lt;/i&amp;gt;.&lt;br /&gt;
Galbūt galvoji: „Na, kam nerimauti su rekursija. Aš tiesiog naudosiu ciklą. Aš jau žinau, kaip sudaryti ciklą, ir tai yra daug daugiau darbo.“ Ši mintis suprantama, bet ne visai ideali. Sprendžiant sudėtingas problemas, rekursinę funkciją kartais lengviau, greičiau ir paprasčiau sukurti bei programuoti.&lt;br /&gt;
&lt;br /&gt;
Pagalvokite apie šias dvi „taisykles“:&lt;br /&gt;
* Jei galiu išspręsti problemą dabar, be rekursijos, funkcija tiesiog grąžina reikšmę.&lt;br /&gt;
* Jei negaliu išspręsti problemos dabar be rekursijos, funkcija sumažina problemą iki mažesnio ir panašaus ir pakviečia pati save, kad išspręstų problemą.&lt;br /&gt;
&lt;br /&gt;
Taikyk tai naudojant bendrą matematinę sąvoką – faktorialus. Jei nesi susipažinęs su matematikos faktoriais, skaityk: [https://lt.wikipedia.org/wiki/Faktorialas Faktorialas]&lt;br /&gt;
 &lt;br /&gt;
Skaičiaus faktorialas &amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;, yra žymimas kaip &amp;lt;i&amp;gt;n!&amp;lt;/i&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Štai keletas pagrindinių faktorialų taisyklių:&lt;br /&gt;
&lt;br /&gt;
Jei n = 0 tai n! = 1&lt;br /&gt;
&lt;br /&gt;
Jei n &amp;gt; 0 tai n! = 1 x 2 x 3 x ... x n&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiui, pažiūrėk į skaičiaus 9 faktorialą.&lt;br /&gt;
&lt;br /&gt;
9! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9&lt;br /&gt;
&lt;br /&gt;
Pažiūrėkime į programą, kuri rekursijos metodu apskaičiuoja bet kurio vartotojo įvesto skaičiaus faktorialą.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    sk = int(input(&amp;quot;Įvesk neneigiamą sveikąjį skaičių.\n&amp;quot;))&lt;br /&gt;
    fact = factorialas(sk)&lt;br /&gt;
    print(&amp;quot;Skaičiaus &amp;quot;,sk,&amp;quot; faktorialas yra &amp;quot;,fact)&lt;br /&gt;
&lt;br /&gt;
def factorialas(sk):&lt;br /&gt;
    if sk== 0:&lt;br /&gt;
        return  1&lt;br /&gt;
    else:&lt;br /&gt;
        return sk* factorialas(sk- 1)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rekursija taip pat naudinga išplėstinėje temoje, vadinamoje generatoriais. Norint sugeneruoti serijas 1,2,1,3,1,2,1,4,1,2... reikės šio kodo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def beprotiškas(min_):&lt;br /&gt;
    yield min_&lt;br /&gt;
    g=beprotiškas(min_+1)&lt;br /&gt;
    while True:&lt;br /&gt;
        yield next(g)&lt;br /&gt;
        yield min_&lt;br /&gt;
&lt;br /&gt;
i=beprotiškas(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
norint gauti kitą elementą, iškiviestum next(i)&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Dealing with the imperfect |next=Intro to Object Oriented Programming in Python 3}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Rekursija&amp;diff=3522</id>
		<title>Python Vadovėlis/Rekursija</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Rekursija&amp;diff=3522"/>
		<updated>2021-11-16T13:29:43Z</updated>

		<summary type="html">&lt;p&gt;Monika: Maži stiliau pataisymai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rekursija ==&lt;br /&gt;
&lt;br /&gt;
Python'o programoje rekursinė funkcija yra funkcija, kuri iškviečia pati save.&lt;br /&gt;
&lt;br /&gt;
=== Įvadas į rekursiją ===&lt;br /&gt;
&lt;br /&gt;
Iki šiol Python'o programoje matėme funkcijas, kurios iškviečia kitas funkcijas. Tačiau funkcija gali iškviesti ir pati save. Pažvelkime į paprastą pavyzdį.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Program by Mitchell Aikens&lt;br /&gt;
# No Copyright&lt;br /&gt;
# 2010&lt;br /&gt;
&lt;br /&gt;
sk = 0&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    skaitliukas(sk)&lt;br /&gt;
&lt;br /&gt;
def skaitliukas(sk):&lt;br /&gt;
    print(sk)&lt;br /&gt;
    sk+= 1&lt;br /&gt;
    skaitliukas(sk)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei šią programą paleistum IDLE kodo redaktoriuje, ji veiktų amžinai. Vienintelis būdas sustabdyti ciklą būtų nutraukti vykdymą paspausdami Ctrl + C klaviatūroje. Tai yra begalinės rekursijos pavyzdys. (Kai kurie naudotojai pranešė apie esamos IDLE kodo redaktoriaus sistemos gedimą, dėl kurio Ctrl + C iškelta išimtis taip pat pradeda veikti. Jei taip nutinka, paspausk Ctrl + F6 ir IDLE kodo redaktoriaus terminalas turėtų pasileisti iš naujo.)&lt;br /&gt;
&lt;br /&gt;
Galima ginčytis, kad rekursija yra tik dar vienas būdas atlikti tą patį dalyką kaip ir naudojant ciklą. Kai kuriais atvejais tai yra visiškai teisinga. Tačiau yra ir kitų rekursijos naudojimo būdų, kurie yra labai tinkami, o  &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; arba &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; ciklai gali būti ne pats geriausias variantas.&lt;br /&gt;
&lt;br /&gt;
Rekursiją gali būti valdoma, kaip ir ciklai. Pažvelk į valdomo ciklo pavyzdį.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Program by Mitchell Aikens&lt;br /&gt;
# No copyright&lt;br /&gt;
# 2012&lt;br /&gt;
def main():&lt;br /&gt;
    ciklosk= int(input(&amp;quot;Kiek kartų norėtum paleisti ciklą?\n&amp;quot;))&lt;br /&gt;
    skaitliukas = 1&lt;br /&gt;
    recurr(ciklosk,skaitliukas)&lt;br /&gt;
&lt;br /&gt;
def recurr(ciklosk,skaitliukas):&lt;br /&gt;
    if ciklosk&amp;gt; 0:&lt;br /&gt;
        print(&amp;quot;Tai yra ciklo iteracija&amp;quot;,skaitliukas)&lt;br /&gt;
        recurr(ciklosk- 1,skaitliukas + 1)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Ciklas yra pabaigtas.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aukščiau naudojami argumentai/parametrai rekursijų skaičiui valdyti. Tiesiog naudok tai, ką jau žinai apie funkcijas, ir sek programos eigą. Tai paprasta išsiaiškinti. Jei kyla problemų, grįžk į [[Non-Programmer's Tutorial for Python 3/Advanced Functions Example]].&lt;br /&gt;
&lt;br /&gt;
== Praktiniai rekursijos pritaikymai ==&lt;br /&gt;
&lt;br /&gt;
Dažnai rekursija yra studijuojama pažengusiu informatikos lygiu. Rekursija dažniausiai naudojama sprendžiant sudėtingas problemas, kurias galima suskirstyti į mažesnes, identiškas problemas. Norint išspręsti problemą, rekursija nebūtina. Problemos, kurias galima išspręsti naudojant rekursiją, greičiausiai gali būti išspręstos ir su ciklais. Be to, ciklas gali būti efektyvesnis nei rekursinė funkcija. Rekursinėms funkcijoms reikia daugiau atminties ir išteklių nei ciklams, todėl daugeliu atvejų jos yra mažiau efektyvios. Šis naudojimo reikalavimas kartais vadinamas &amp;lt;i&amp;gt;overhead&amp;lt;/i&amp;gt;.&lt;br /&gt;
Galbūt galvoji: „Na, kam nerimauti su rekursija. Aš tiesiog naudosiu ciklą. Aš jau žinau, kaip sudaryti ciklą, ir tai yra daug daugiau darbo.“ Ši mintis suprantama, bet ne visai ideali. Sprendžiant sudėtingas problemas, rekursinę funkciją kartais lengviau, greičiau ir paprasčiau sukurti bei programuoti.&lt;br /&gt;
&lt;br /&gt;
Pagalvokite apie šias dvi „taisykles“:&lt;br /&gt;
* Jei galiu išspręsti problemą dabar, be rekursijos, funkcija tiesiog grąžina reikšmę.&lt;br /&gt;
* Jei negaliu išspręsti problemos dabar be rekursijos, funkcija sumažina problemą iki mažesnio ir panašaus ir pakviečia pati save, kad išspręstų problemą.&lt;br /&gt;
&lt;br /&gt;
Taikyk tai naudojant bendrą matematinę sąvoką – faktorialus. Jei nesi susipažinęs su matematikos faktoriais, skaityk: [https://lt.wikipedia.org/wiki/Faktorialas Faktorialas]&lt;br /&gt;
 &lt;br /&gt;
Skaičiaus faktorialas &amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;, yra žymimas kaip &amp;lt;i&amp;gt;n!&amp;lt;/i&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Štai keletas pagrindinių faktorialų taisyklių.&lt;br /&gt;
&lt;br /&gt;
If n = 0 then n! = 1&lt;br /&gt;
If n &amp;gt; 0 then n! = 1 x 2 x 3 x ... x n&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiui, pažiūrėk į skaičiaus 9 faktorialą.&lt;br /&gt;
&lt;br /&gt;
9! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9&lt;br /&gt;
&lt;br /&gt;
Pažiūrėk į programą, kuri rekursijos metodu apskaičiuoja bet kurio vartotojo įvesto skaičiaus faktorialą.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    sk = int(input(&amp;quot;Įvesk neneigiamą sveikąjį skaičių.\n&amp;quot;))&lt;br /&gt;
    fact = factorialas(sk)&lt;br /&gt;
    print(&amp;quot;Skaičiaus &amp;quot;,sk,&amp;quot; faktorialas yra &amp;quot;,fact)&lt;br /&gt;
&lt;br /&gt;
def factorialas(sk):&lt;br /&gt;
    if sk== 0:&lt;br /&gt;
        return  1&lt;br /&gt;
    else:&lt;br /&gt;
        return sk* factorialas(sk- 1)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rekursija taip pat naudinga išplėstinėje temoje, vadinamoje generatoriais. Norint sugeneruoti serijas 1,2,1,3,1,2,1,4,1,2... reikės šio kodo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def beprotiškas(min_):&lt;br /&gt;
    yield min_&lt;br /&gt;
    g=beprotiškas(min_+1)&lt;br /&gt;
    while True:&lt;br /&gt;
        yield next(g)&lt;br /&gt;
        yield min_&lt;br /&gt;
&lt;br /&gt;
i=beprotiškas(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
norint gauti kitą elementą, iškiviestum next(i)&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Dealing with the imperfect |next=Intro to Object Oriented Programming in Python 3}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3471</id>
		<title>Python Vadovėlis/Siekiant tobulumo</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3471"/>
		<updated>2021-10-20T15:22:56Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pataisyta nuoroda į skyrių&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ...arba, kaip kovoti su klaidomis ===&lt;br /&gt;
=== Klaidų &amp;quot;gaudymas&amp;quot; su &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Tarkime, kad jau turi tobulą programą, ji vykdoma nepriekaištingai. Tik viena maža detalė: programa užstringa naudotojui įvedus klaidingą įvestį. Nepergyvenk, Pithon'as turi specialią valdymo struktūrą, kuri tau padės. Ji vadinama &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ir ji bando kažką padaryti. Pavyzdys programos su problema:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
   print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei įvesi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa išves kažką tokio:&lt;br /&gt;
&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;bandyk.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
 ValueError: invalid literal for int() with base 10: '\\@#&amp;amp;'&lt;br /&gt;
&lt;br /&gt;
Kaip gali pastebėti, &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; funkcija yra nepatenkinta skaičiumi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; (kaip ir turėtų būti). Paskutinė eilutė parodo, kokia yra problema: Python'as rado &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidą. Kaip mūsų programa gali su tuo susitvarkyti? Visų pirma, tą kodo vietą, kurioje gali būti klaidų, turime apsupti &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku. Antra, turime pasakyti Python'ui, kaip tvarkytis su &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidomis. Tai daro žemiau esanti programa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
    try:&lt;br /&gt;
        skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabar, kai vykdome programą ir įvedame &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa mums pasako, kad &amp;quot;Tai buvo ne skaičius.&amp;quot; ir toliau vykdo tai, ką turėtų.&lt;br /&gt;
&lt;br /&gt;
Kai tavo programa vis susiduria su ta pačia klaida, kodą apsupk &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku ir aprašyk būdą, kaip elgtis sutikus klaidą, &amp;lt;code&amp;gt;except&amp;lt;/code&amp;gt; bloke.&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Pataisyk telefono numerių programą ([[Vadovėlis/Dictionaries|Dictionaries]] skyriuje), kad ji neužstrigtų, jei naudotojas neįrašo jokios įvesties į meniu.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print('1. Spausdink telefonų numerius')&lt;br /&gt;
    print('2. Pridėk telefono numerį')&lt;br /&gt;
    print('3. Pašalink telefono numerį')&lt;br /&gt;
    print('4. Ieškok telefono numerio')&lt;br /&gt;
    print('5. Išeik')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
numeriai = {}&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
spausdink_meniu ()&lt;br /&gt;
while meniu_pasirinkimas != 5:&lt;br /&gt;
    try:&lt;br /&gt;
        meniu_pasirinkimas = int(input(&amp;quot;Įvesk skaičių (1-5): &amp;quot;))&lt;br /&gt;
        if meniu_pasirinkimas == 1:&lt;br /&gt;
            print(&amp;quot;Telefono numeriai: &amp;quot;)&lt;br /&gt;
            for x in numeriai.keys():&lt;br /&gt;
                print(&amp;quot;Vardas: &amp;quot;, x, &amp;quot;\tTelefono numeris:&amp;quot;, numeriai[x])&lt;br /&gt;
            print()&lt;br /&gt;
        elif meniu_pasirinkimas == 2:&lt;br /&gt;
            print(&amp;quot;Pridėk vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            numeris = input(&amp;quot;Telefono numeris: &amp;quot;)&lt;br /&gt;
            numeriai[vardas] = numeris &lt;br /&gt;
        elif meniu_pasirinkimas == 3:&lt;br /&gt;
            print(&amp;quot;Pašalink vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            if vardas in numeriai:&lt;br /&gt;
                del numeriai[vardas]&lt;br /&gt;
            else:&lt;br /&gt;
                print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
        elif meniu_pasirinkimas == 4:&lt;br /&gt;
            print(&amp;quot;Ieškok telefono numerio&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            if vardas in numeriai:&lt;br /&gt;
                print(&amp;quot;Telefono numeris yra &amp;quot;, numeriai[vardas])&lt;br /&gt;
            else:&lt;br /&gt;
                print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
        elif meniu_pasirinkimas  != 5:&lt;br /&gt;
            print_menu()&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{navigation |previous=File IO |next=Recursion}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3470</id>
		<title>Python Vadovėlis/Siekiant tobulumo</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3470"/>
		<updated>2021-10-20T15:21:03Z</updated>

		<summary type="html">&lt;p&gt;Monika: Sutvarkytas šablonas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ...arba, kaip kovoti su klaidomis ===&lt;br /&gt;
=== Klaidų &amp;quot;gaudymas&amp;quot; su &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Tarkime, kad jau turi tobulą programą, ji vykdoma nepriekaištingai. Tik viena maža detalė: programa užstringa naudotojui įvedus klaidingą įvestį. Nepergyvenk, Pithon'as turi specialią valdymo struktūrą, kuri tau padės. Ji vadinama &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ir ji bando kažką padaryti. Pavyzdys programos su problema:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
   print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei įvesi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa išves kažką tokio:&lt;br /&gt;
&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;bandyk.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
 ValueError: invalid literal for int() with base 10: '\\@#&amp;amp;'&lt;br /&gt;
&lt;br /&gt;
Kaip gali pastebėti, &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; funkcija yra nepatenkinta skaičiumi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; (kaip ir turėtų būti). Paskutinė eilutė parodo, kokia yra problema: Python'as rado &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidą. Kaip mūsų programa gali su tuo susitvarkyti? Visų pirma, tą kodo vietą, kurioje gali būti klaidų, turime apsupti &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku. Antra, turime pasakyti Python'ui, kaip tvarkytis su &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidomis. Tai daro žemiau esanti programa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
    try:&lt;br /&gt;
        skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabar, kai vykdome programą ir įvedame &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa mums pasako, kad &amp;quot;Tai buvo ne skaičius.&amp;quot; ir toliau vykdo tai, ką turėtų.&lt;br /&gt;
&lt;br /&gt;
Kai tavo programa vis susiduria su ta pačia klaida, kodą apsupk &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku ir aprašyk būdą, kaip elgtis sutikus klaidą, &amp;lt;code&amp;gt;except&amp;lt;/code&amp;gt; bloke.&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Pataisyk telefono numerių programą ([[../Dictionaries|Dictionaries]] skyriuje), kad ji neužstrigtų, jei naudotojas neįrašo jokios įvesties į meniu.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print('1. Spausdink telefonų numerius')&lt;br /&gt;
    print('2. Pridėk telefono numerį')&lt;br /&gt;
    print('3. Pašalink telefono numerį')&lt;br /&gt;
    print('4. Ieškok telefono numerio')&lt;br /&gt;
    print('5. Išeik')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
numeriai = {}&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
spausdink_meniu ()&lt;br /&gt;
while meniu_pasirinkimas != 5:&lt;br /&gt;
    try:&lt;br /&gt;
        meniu_pasirinkimas = int(input(&amp;quot;Įvesk skaičių (1-5): &amp;quot;))&lt;br /&gt;
        if meniu_pasirinkimas == 1:&lt;br /&gt;
            print(&amp;quot;Telefono numeriai: &amp;quot;)&lt;br /&gt;
            for x in numeriai.keys():&lt;br /&gt;
                print(&amp;quot;Vardas: &amp;quot;, x, &amp;quot;\tTelefono numeris:&amp;quot;, numeriai[x])&lt;br /&gt;
            print()&lt;br /&gt;
        elif meniu_pasirinkimas == 2:&lt;br /&gt;
            print(&amp;quot;Pridėk vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            numeris = input(&amp;quot;Telefono numeris: &amp;quot;)&lt;br /&gt;
            numeriai[vardas] = numeris &lt;br /&gt;
        elif meniu_pasirinkimas == 3:&lt;br /&gt;
            print(&amp;quot;Pašalink vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            if vardas in numeriai:&lt;br /&gt;
                del numeriai[vardas]&lt;br /&gt;
            else:&lt;br /&gt;
                print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
        elif meniu_pasirinkimas == 4:&lt;br /&gt;
            print(&amp;quot;Ieškok telefono numerio&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            if vardas in numeriai:&lt;br /&gt;
                print(&amp;quot;Telefono numeris yra &amp;quot;, numeriai[vardas])&lt;br /&gt;
            else:&lt;br /&gt;
                print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
        elif meniu_pasirinkimas  != 5:&lt;br /&gt;
            print_menu()&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{navigation |previous=File IO |next=Recursion}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3469</id>
		<title>Python Vadovėlis/Siekiant tobulumo</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3469"/>
		<updated>2021-10-20T15:20:16Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta dalis &amp;quot;Exercises&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ...arba, kaip kovoti su klaidomis ===&lt;br /&gt;
=== Klaidų &amp;quot;gaudymas&amp;quot; su &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Tarkime, kad jau turi tobulą programą, ji vykdoma nepriekaištingai. Tik viena maža detalė: programa užstringa naudotojui įvedus klaidingą įvestį. Nepergyvenk, Pithon'as turi specialią valdymo struktūrą, kuri tau padės. Ji vadinama &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ir ji bando kažką padaryti. Pavyzdys programos su problema:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
   print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei įvesi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa išves kažką tokio:&lt;br /&gt;
&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;bandyk.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
 ValueError: invalid literal for int() with base 10: '\\@#&amp;amp;'&lt;br /&gt;
&lt;br /&gt;
Kaip gali pastebėti, &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; funkcija yra nepatenkinta skaičiumi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; (kaip ir turėtų būti). Paskutinė eilutė parodo, kokia yra problema: Python'as rado &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidą. Kaip mūsų programa gali su tuo susitvarkyti? Visų pirma, tą kodo vietą, kurioje gali būti klaidų, turime apsupti &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku. Antra, turime pasakyti Python'ui, kaip tvarkytis su &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidomis. Tai daro žemiau esanti programa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
    try:&lt;br /&gt;
        skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabar, kai vykdome programą ir įvedame &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa mums pasako, kad &amp;quot;Tai buvo ne skaičius.&amp;quot; ir toliau vykdo tai, ką turėtų.&lt;br /&gt;
&lt;br /&gt;
Kai tavo programa vis susiduria su ta pačia klaida, kodą apsupk &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku ir aprašyk būdą, kaip elgtis sutikus klaidą, &amp;lt;code&amp;gt;except&amp;lt;/code&amp;gt; bloke.&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Pataisyk telefono numerių programą ([[../Dictionaries|Dictionaries]] skyriuje), kad ji neužstrigtų, jei naudotojas neįrašo jokios įvesties į meniu.&lt;br /&gt;
&lt;br /&gt;
{{Sprendimas|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def spausdink_meniu():&lt;br /&gt;
    print('1. Spausdink telefonų numerius')&lt;br /&gt;
    print('2. Pridėk telefono numerį')&lt;br /&gt;
    print('3. Pašalink telefono numerį')&lt;br /&gt;
    print('4. Ieškok telefono numerio')&lt;br /&gt;
    print('5. Išeik')&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
numeriai = {}&lt;br /&gt;
meniu_pasirinkimas = 0&lt;br /&gt;
spausdink_meniu ()&lt;br /&gt;
while meniu_pasirinkimas != 5:&lt;br /&gt;
    try:&lt;br /&gt;
        meniu_pasirinkimas = int(input(&amp;quot;Įvesk skaičių (1-5): &amp;quot;))&lt;br /&gt;
        if meniu_pasirinkimas == 1:&lt;br /&gt;
            print(&amp;quot;Telefono numeriai: &amp;quot;)&lt;br /&gt;
            for x in numeriai.keys():&lt;br /&gt;
                print(&amp;quot;Vardas: &amp;quot;, x, &amp;quot;\tTelefono numeris:&amp;quot;, numeriai[x])&lt;br /&gt;
            print()&lt;br /&gt;
        elif meniu_pasirinkimas == 2:&lt;br /&gt;
            print(&amp;quot;Pridėk vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            numeris = input(&amp;quot;Telefono numeris: &amp;quot;)&lt;br /&gt;
            numeriai[vardas] = numeris &lt;br /&gt;
        elif meniu_pasirinkimas == 3:&lt;br /&gt;
            print(&amp;quot;Pašalink vardą ir telefono numerį&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            if vardas in numeriai:&lt;br /&gt;
                del numeriai[vardas]&lt;br /&gt;
            else:&lt;br /&gt;
                print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
        elif meniu_pasirinkimas == 4:&lt;br /&gt;
            print(&amp;quot;Ieškok telefono numerio&amp;quot;)&lt;br /&gt;
            vardas = input(&amp;quot;Vardas: &amp;quot;)&lt;br /&gt;
            if vardas in numeriai:&lt;br /&gt;
                print(&amp;quot;Telefono numeris yra &amp;quot;, numeriai[vardas])&lt;br /&gt;
            else:&lt;br /&gt;
                print(vardas, &amp;quot; nebuvo rastas&amp;quot;)&lt;br /&gt;
        elif meniu_pasirinkimas  != 5:&lt;br /&gt;
            print_menu()&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{navigation |previous=File IO |next=Recursion}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3468</id>
		<title>Python Vadovėlis/Siekiant tobulumo</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3468"/>
		<updated>2021-10-20T15:12:30Z</updated>

		<summary type="html">&lt;p&gt;Monika: Ištrinta &amp;quot;Failų uždarymas with sakiniu&amp;quot; dalis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ...arba, kaip kovoti su klaidomis ===&lt;br /&gt;
=== Klaidų &amp;quot;gaudymas&amp;quot; su &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Tarkime, kad jau turi tobulą programą, ji vykdoma nepriekaištingai. Tik viena maža detalė: programa užstringa naudotojui įvedus klaidingą įvestį. Nepergyvenk, Pithon'as turi specialią valdymo struktūrą, kuri tau padės. Ji vadinama &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ir ji bando kažką padaryti. Pavyzdys programos su problema:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
   print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei įvesi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa išves kažką tokio:&lt;br /&gt;
&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;bandyk.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
 ValueError: invalid literal for int() with base 10: '\\@#&amp;amp;'&lt;br /&gt;
&lt;br /&gt;
Kaip gali pastebėti, &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; funkcija yra nepatenkinta skaičiumi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; (kaip ir turėtų būti). Paskutinė eilutė parodo, kokia yra problema: Python'as rado &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidą. Kaip mūsų programa gali su tuo susitvarkyti? Visų pirma, tą kodo vietą, kurioje gali būti klaidų, turime apsupti &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku. Antra, turime pasakyti Python'ui, kaip tvarkytis su &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidomis. Tai daro žemiau esanti programa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
    try:&lt;br /&gt;
        skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabar, kai vykdome programą ir įvedame &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa mums pasako, kad &amp;quot;Tai buvo ne skaičius.&amp;quot; ir toliau vykdo tai, ką turėtų.&lt;br /&gt;
&lt;br /&gt;
Kai tavo programa vis susiduria su ta pačia klaida, kodą apsupk &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku ir aprašyk būdą, kaip elgtis sutikus klaidą, &amp;lt;code&amp;gt;except&amp;lt;/code&amp;gt; bloke.&lt;br /&gt;
&lt;br /&gt;
=== Exercises ===&lt;br /&gt;
Update at least the phone numbers program (in section [[../Dictionaries|Dictionaries]]) so it doesn't crash if a user doesn't enter any data at the menu.&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def print_menu():&lt;br /&gt;
	print('1. Print Phone Numbers')&lt;br /&gt;
	print('2. Add a Phone Number')&lt;br /&gt;
	print('3. Remove a Phone Number')&lt;br /&gt;
	print('4. Lookup a Phone Number')&lt;br /&gt;
	print('5. Quit')&lt;br /&gt;
	print()&lt;br /&gt;
&lt;br /&gt;
numbers = {}&lt;br /&gt;
menu_choice = 0&lt;br /&gt;
print_menu()&lt;br /&gt;
while menu_choice != 5:&lt;br /&gt;
	try:&lt;br /&gt;
		menu_choice = int(input(&amp;quot;Type in a number (1-5): &amp;quot;))&lt;br /&gt;
		if menu_choice == 1:&lt;br /&gt;
			print(&amp;quot;Telephone Numbers:&amp;quot;)&lt;br /&gt;
			for x in numbers.keys():&lt;br /&gt;
				print(&amp;quot;Name: &amp;quot;, x, &amp;quot;\tNumber:&amp;quot;, numbers[x])&lt;br /&gt;
			print()&lt;br /&gt;
		elif menu_choice == 2:&lt;br /&gt;
			print(&amp;quot;Add Name and Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			phone = input(&amp;quot;Number: &amp;quot;)&lt;br /&gt;
			numbers[name] = phone&lt;br /&gt;
		elif menu_choice == 3:&lt;br /&gt;
			print(&amp;quot;Remove Name and Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			if name in numbers:&lt;br /&gt;
				del numbers[name]&lt;br /&gt;
			else:&lt;br /&gt;
				print(name, &amp;quot;was not found&amp;quot;)&lt;br /&gt;
		elif menu_choice == 4:&lt;br /&gt;
			print(&amp;quot;Lookup Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			if name in numbers:&lt;br /&gt;
				print(&amp;quot;The number is&amp;quot;, numbers[name])&lt;br /&gt;
			else:&lt;br /&gt;
				print(name, &amp;quot;was not found&amp;quot;)&lt;br /&gt;
		elif menu_choice != 5:&lt;br /&gt;
			print_menu()&lt;br /&gt;
	except ValueError:&lt;br /&gt;
		print(&amp;quot;That was not a number.&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{navigation |previous=File IO |next=Recursion}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3456</id>
		<title>Python Vadovėlis/Siekiant tobulumo</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3456"/>
		<updated>2021-10-19T15:33:35Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta &amp;quot;catching errors with try&amp;quot; dalis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ...arba, kaip kovoti su klaidomis ===&lt;br /&gt;
&lt;br /&gt;
=== Failų uždarymas &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; sakiniu ===&lt;br /&gt;
&lt;br /&gt;
Mes naudojame &amp;quot;with&amp;quot; sakinį atidaryti ir uždaryti failams. Papildomai apie tai paskaityti galima šiuose angliškuose puslapiuose:&lt;br /&gt;
[http://docs.python.org/3.4/reference/compound_stmts.html#the-with-statement &amp;quot;with&amp;quot; sakinys]&lt;br /&gt;
[http://preshing.com/20110920/the-python-with-statement-by-example/ &amp;quot;with&amp;quot; sakinys su pavyzdžiais]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
with open(&amp;quot;ivesties_testas.txt&amp;quot;, &amp;quot;rt&amp;quot;) as ivesties_failas:&lt;br /&gt;
    with open(&amp;quot;isvesties_testas.txt&amp;quot;, &amp;quot;wt&amp;quot;) as isvesties_failas:&lt;br /&gt;
        textas = ivesties_failas.read()&lt;br /&gt;
        duomanys = parse(textas)&lt;br /&gt;
        rezultatas = encode(duomanys)&lt;br /&gt;
        isvesties_failas.write(rezultatas)&lt;br /&gt;
    print( &amp;quot;Baigta.&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei kokia nors klaida įvyksta šiame kode (vienas iš failų yra nepasiekiamas, parse() funkcija užsikerta dėl netinkamų duomenų ir panašiai), &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; sakinys garantuoja, kad visi failai bus tinkamai uždaryti. Failo uždarymas šiuo atveju reiškia, kad mūsų programa failą &amp;quot;išvalys&amp;quot; ir &amp;quot;paleis&amp;quot;, kad jį galėtų naudoti kitos programos.&lt;br /&gt;
&lt;br /&gt;
{{todo|&lt;br /&gt;
Is the &amp;quot;closing files with with&amp;quot; section too much detail for a non-programmers tutorial?&lt;br /&gt;
If so, move it to some other Python Wikibook ([[Subject:Python programming language]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Klaidų &amp;quot;gaudymas&amp;quot; su &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Tarkime, kad jau turi tobulą programą, ji vykdoma nepriekaištingai. Tik viena maža detalė: programa užstringa naudotojui įvedus klaidingą įvestį. Nepergyvenk, Pithon'as turi specialią valdymo struktūrą, kuri tau padės. Ji vadinama &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; ir ji bando kažką padaryti. Pavyzdys programos su problema:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
   print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei įvesi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa išves kažką tokio:&lt;br /&gt;
&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;bandyk.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt;
   skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
 ValueError: invalid literal for int() with base 10: '\\@#&amp;amp;'&lt;br /&gt;
&lt;br /&gt;
Kaip gali pastebėti, &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; funkcija yra nepatenkinta skaičiumi &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; (kaip ir turėtų būti). Paskutinė eilutė parodo, kokia yra problema: Python'as rado &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidą. Kaip mūsų programa gali su tuo susitvarkyti? Visų pirma, tą kodo vietą, kurioje gali būti klaidų, turime apsupti &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku. Antra, turime pasakyti Python'ui, kaip tvarkytis su &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt; klaidomis. Tai daro žemiau esanti programa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Norėdamas uždaryti programą, įvesk -1&amp;quot;)&lt;br /&gt;
skaicius = 1&lt;br /&gt;
while skaicius != -1:&lt;br /&gt;
    try:&lt;br /&gt;
        skaicius = int(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;Tu įvedei:&amp;quot;, skaicius)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Tai buvo ne skaičius.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabar, kai vykdome programą ir įvedame &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt;, programa mums pasako, kad &amp;quot;Tai buvo ne skaičius.&amp;quot; ir toliau vykdo tai, ką turėtų.&lt;br /&gt;
&lt;br /&gt;
Kai tavo programa vis susiduria su ta pačia klaida, kodą apsupk &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloku ir aprašyk būdą, kaip elgtis sutikus klaidą, &amp;lt;code&amp;gt;except&amp;lt;/code&amp;gt; bloke.&lt;br /&gt;
&lt;br /&gt;
=== Exercises ===&lt;br /&gt;
Update at least the phone numbers program (in section [[../Dictionaries|Dictionaries]]) so it doesn't crash if a user doesn't enter any data at the menu.&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def print_menu():&lt;br /&gt;
	print('1. Print Phone Numbers')&lt;br /&gt;
	print('2. Add a Phone Number')&lt;br /&gt;
	print('3. Remove a Phone Number')&lt;br /&gt;
	print('4. Lookup a Phone Number')&lt;br /&gt;
	print('5. Quit')&lt;br /&gt;
	print()&lt;br /&gt;
&lt;br /&gt;
numbers = {}&lt;br /&gt;
menu_choice = 0&lt;br /&gt;
print_menu()&lt;br /&gt;
while menu_choice != 5:&lt;br /&gt;
	try:&lt;br /&gt;
		menu_choice = int(input(&amp;quot;Type in a number (1-5): &amp;quot;))&lt;br /&gt;
		if menu_choice == 1:&lt;br /&gt;
			print(&amp;quot;Telephone Numbers:&amp;quot;)&lt;br /&gt;
			for x in numbers.keys():&lt;br /&gt;
				print(&amp;quot;Name: &amp;quot;, x, &amp;quot;\tNumber:&amp;quot;, numbers[x])&lt;br /&gt;
			print()&lt;br /&gt;
		elif menu_choice == 2:&lt;br /&gt;
			print(&amp;quot;Add Name and Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			phone = input(&amp;quot;Number: &amp;quot;)&lt;br /&gt;
			numbers[name] = phone&lt;br /&gt;
		elif menu_choice == 3:&lt;br /&gt;
			print(&amp;quot;Remove Name and Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			if name in numbers:&lt;br /&gt;
				del numbers[name]&lt;br /&gt;
			else:&lt;br /&gt;
				print(name, &amp;quot;was not found&amp;quot;)&lt;br /&gt;
		elif menu_choice == 4:&lt;br /&gt;
			print(&amp;quot;Lookup Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			if name in numbers:&lt;br /&gt;
				print(&amp;quot;The number is&amp;quot;, numbers[name])&lt;br /&gt;
			else:&lt;br /&gt;
				print(name, &amp;quot;was not found&amp;quot;)&lt;br /&gt;
		elif menu_choice != 5:&lt;br /&gt;
			print_menu()&lt;br /&gt;
	except ValueError:&lt;br /&gt;
		print(&amp;quot;That was not a number.&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{navigation |previous=File IO |next=Recursion}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3455</id>
		<title>Python Vadovėlis/Siekiant tobulumo</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Siekiant_tobulumo&amp;diff=3455"/>
		<updated>2021-10-19T15:16:17Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta &amp;quot;closing files with with&amp;quot; sekcija&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ...arba, kaip kovoti su klaidomis ===&lt;br /&gt;
&lt;br /&gt;
=== Failų uždarymas &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; sakiniu ===&lt;br /&gt;
&lt;br /&gt;
Mes naudojame &amp;quot;with&amp;quot; sakinį atidaryti ir uždaryti failams. Papildomai apie tai paskaityti galima šiuose angliškuose puslapiuose:&lt;br /&gt;
[http://docs.python.org/3.4/reference/compound_stmts.html#the-with-statement &amp;quot;with&amp;quot; sakinys]&lt;br /&gt;
[http://preshing.com/20110920/the-python-with-statement-by-example/ &amp;quot;with&amp;quot; sakinys su pavyzdžiais]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
with open(&amp;quot;ivesties_testas.txt&amp;quot;, &amp;quot;rt&amp;quot;) as ivesties_failas:&lt;br /&gt;
    with open(&amp;quot;isvesties_testas.txt&amp;quot;, &amp;quot;wt&amp;quot;) as isvesties_failas:&lt;br /&gt;
        textas = ivesties_failas.read()&lt;br /&gt;
        duomanys = parse(textas)&lt;br /&gt;
        rezultatas = encode(duomanys)&lt;br /&gt;
        isvesties_failas.write(rezultatas)&lt;br /&gt;
    print( &amp;quot;Baigta.&amp;quot; )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jei kokia nors klaida įvyksta šiame kode (vienas iš failų yra nepasiekiamas, parse() funkcija užsikerta dėl netinkamų duomenų ir panašiai), &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; sakinys garantuoja, kad visi failai bus tinkamai uždaryti. Failo uždarymas šiuo atveju reiškia, kad mūsų programa failą &amp;quot;išvalys&amp;quot; ir &amp;quot;paleis&amp;quot;, kad jį galėtų naudoti kitos programos.&lt;br /&gt;
&lt;br /&gt;
{{todo|&lt;br /&gt;
Is the &amp;quot;closing files with with&amp;quot; section too much detail for a non-programmers tutorial?&lt;br /&gt;
If so, move it to some other Python Wikibook ([[Subject:Python programming language]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== catching errors with try ===&lt;br /&gt;
So you now have the perfect program, it runs flawlessly, except for one detail, it will crash on invalid user input.  Have no fear, for Python has a special control structure for you.  It's called &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; and it tries to do something.  Here is an example of a program with a problem:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Type Control C or -1 to exit&amp;quot;)&lt;br /&gt;
number = 1&lt;br /&gt;
while number != -1:&lt;br /&gt;
   number = int(input(&amp;quot;Enter a number: &amp;quot;))&lt;br /&gt;
   print(&amp;quot;You entered:&amp;quot;, number)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice how when you enter &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; it outputs something like:&lt;br /&gt;
&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;try_less.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt;
    number = int(input(&amp;quot;Enter a number: &amp;quot;))&lt;br /&gt;
 ValueError: invalid literal for int() with base 10: '\\@#&amp;amp;'&lt;br /&gt;
&lt;br /&gt;
As you can see the &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; function is unhappy with the number &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; (as well it should be).  The last line shows what the problem is; Python found a &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt;.   How can our program deal with this?  What we do is first: put the place where errors may occur in a &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; block, and second: tell Python how we want &amp;lt;code&amp;gt;ValueError&amp;lt;/code&amp;gt;s handled.  The following program does this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Type Control C or -1 to exit&amp;quot;)&lt;br /&gt;
number = 1&lt;br /&gt;
while number != -1:&lt;br /&gt;
    try:&lt;br /&gt;
        number = int(input(&amp;quot;Enter a number: &amp;quot;))&lt;br /&gt;
        print(&amp;quot;You entered:&amp;quot;, number)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;That was not a number.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now when we run the new program and give it &amp;lt;code&amp;gt;@#&amp;amp;&amp;lt;/code&amp;gt; it tells us &amp;quot;That was not a number.&amp;quot; and continues with what it was doing before.&lt;br /&gt;
&lt;br /&gt;
When your program keeps having some error that you know how to handle, put code in a &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; block, and put the way to handle the error in the &amp;lt;code&amp;gt;except&amp;lt;/code&amp;gt; block.&lt;br /&gt;
&lt;br /&gt;
=== Exercises ===&lt;br /&gt;
Update at least the phone numbers program (in section [[../Dictionaries|Dictionaries]]) so it doesn't crash if a user doesn't enter any data at the menu.&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def print_menu():&lt;br /&gt;
	print('1. Print Phone Numbers')&lt;br /&gt;
	print('2. Add a Phone Number')&lt;br /&gt;
	print('3. Remove a Phone Number')&lt;br /&gt;
	print('4. Lookup a Phone Number')&lt;br /&gt;
	print('5. Quit')&lt;br /&gt;
	print()&lt;br /&gt;
&lt;br /&gt;
numbers = {}&lt;br /&gt;
menu_choice = 0&lt;br /&gt;
print_menu()&lt;br /&gt;
while menu_choice != 5:&lt;br /&gt;
	try:&lt;br /&gt;
		menu_choice = int(input(&amp;quot;Type in a number (1-5): &amp;quot;))&lt;br /&gt;
		if menu_choice == 1:&lt;br /&gt;
			print(&amp;quot;Telephone Numbers:&amp;quot;)&lt;br /&gt;
			for x in numbers.keys():&lt;br /&gt;
				print(&amp;quot;Name: &amp;quot;, x, &amp;quot;\tNumber:&amp;quot;, numbers[x])&lt;br /&gt;
			print()&lt;br /&gt;
		elif menu_choice == 2:&lt;br /&gt;
			print(&amp;quot;Add Name and Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			phone = input(&amp;quot;Number: &amp;quot;)&lt;br /&gt;
			numbers[name] = phone&lt;br /&gt;
		elif menu_choice == 3:&lt;br /&gt;
			print(&amp;quot;Remove Name and Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			if name in numbers:&lt;br /&gt;
				del numbers[name]&lt;br /&gt;
			else:&lt;br /&gt;
				print(name, &amp;quot;was not found&amp;quot;)&lt;br /&gt;
		elif menu_choice == 4:&lt;br /&gt;
			print(&amp;quot;Lookup Number&amp;quot;)&lt;br /&gt;
			name = input(&amp;quot;Name: &amp;quot;)&lt;br /&gt;
			if name in numbers:&lt;br /&gt;
				print(&amp;quot;The number is&amp;quot;, numbers[name])&lt;br /&gt;
			else:&lt;br /&gt;
				print(name, &amp;quot;was not found&amp;quot;)&lt;br /&gt;
		elif menu_choice != 5:&lt;br /&gt;
			print_menu()&lt;br /&gt;
	except ValueError:&lt;br /&gt;
		print(&amp;quot;That was not a number.&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{navigation |previous=File IO |next=Recursion}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis&amp;diff=3454</id>
		<title>Python Vadovėlis</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis&amp;diff=3454"/>
		<updated>2021-10-19T15:04:16Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tai - standartinės Python programavimo kalbos vadovėlis, išverstas iš [https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3 Non programmer's Tutorial for Python 3].&lt;br /&gt;
&lt;br /&gt;
Šis vadovėlis yra atvirojo kodo, [https://www.gnu.org/licenses/gpl-3.0.html GPL v3] licencija.&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
{{print version}}&lt;br /&gt;
{{PDF version}}&lt;br /&gt;
;[[Vadovėlis/Authors]] &lt;br /&gt;
: Contributors to this book&lt;br /&gt;
;[[Vadovėlis/Front matter]]&lt;br /&gt;
: Initial remarks&lt;br /&gt;
;[[Vadovėlis/Intro]]&lt;br /&gt;
: Installing and using Python&amp;amp;nbsp;&amp;amp;ndash; where to get help&lt;br /&gt;
;[[Vadovėlis/Hello, World]] [Rokas]&lt;br /&gt;
: The famous first program&amp;amp;nbsp;&amp;amp;ndash; screen output&amp;amp;nbsp;&amp;amp;ndash; variables&amp;amp;nbsp;&amp;amp;ndash; numbers and calculations&lt;br /&gt;
;[[Vadovėlis/Who Goes There?|Vadovėlis/Who Goes There? [Modesta]]]&lt;br /&gt;
: Interactive input&amp;amp;nbsp;&amp;amp;ndash; strings&lt;br /&gt;
;[[Vadovėlis/Count to 10]] [Rokas]&lt;br /&gt;
: &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; loops&lt;br /&gt;
;[[Vadovėlis/Decisions|Vadovėlis/Decisions [Monika]]]&lt;br /&gt;
:&amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; statements&lt;br /&gt;
;[[Vadovėlis/Debugging|Vadovėlis/Debugging [Monika]]]&lt;br /&gt;
:Finding out what goes wrong&lt;br /&gt;
;[[Vadovėlis/Defining Functions]] [Rokas]&lt;br /&gt;
: Structuring programs with the use of functions&lt;br /&gt;
;[[Vadovėlis/Advanced Functions Example]] [Rokas]&lt;br /&gt;
: (Almost) mind-blowing example of how programmers can think&lt;br /&gt;
;[[Vadovėlis/Lists|Vadovėlis/Lists [Artūras]]]&lt;br /&gt;
:Variables containing more than one value&lt;br /&gt;
;[[Vadovėlis/For Loops|Vadovėlis/For Loops [Artūras]]]&lt;br /&gt;
:A second kind of loop&lt;br /&gt;
;[[Vadovėlis/Boolean Expressions|Vadovėlis/Boolean Expressions [Laura]]]&lt;br /&gt;
:Computer logic&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;True&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;False&amp;lt;/tt&amp;gt;&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;and&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;or&amp;lt;/tt&amp;gt;&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;not&amp;lt;/tt&amp;gt;&lt;br /&gt;
;[[Vadovėlis/Dictionaries|Vadovėlis/Dictionaries [zivile]]]&lt;br /&gt;
:Variables containing key/value pairs&lt;br /&gt;
;[[Vadovėlis/Using Modules |Vadovėlis/Using Modules [zivile]]]&lt;br /&gt;
:Extensions to the standard set of functionality&lt;br /&gt;
;[[Vadovėlis/More on Lists|Vadovėlis/More on Lists [Laura]]]&lt;br /&gt;
:Using elements or parts of lists&lt;br /&gt;
;[[Vadovėlis/Revenge of the Strings]] [Rokas]&lt;br /&gt;
:More advanced text manipulations&lt;br /&gt;
;[[Vadovėlis/File IO|Vadovėlis/File IO [Artūras]]]&lt;br /&gt;
:Reading from files and writing to files&lt;br /&gt;
;[[Vadovėlis/Dealing with the imperfect|Vadovėlis/Dealing with the imperfect [Monika]]]&lt;br /&gt;
:How to handle errors&lt;br /&gt;
;[[Vadovėlis/Recursion]]&lt;br /&gt;
:Recursive Functions&lt;br /&gt;
;[[Vadovėlis/Intro to Object Oriented Programming in Python 3]]&lt;br /&gt;
:Basics of OOP (Object Oriented Programming)&lt;br /&gt;
;[[Vadovėlis/Intro to Imported Libraries and other Functions|Vadovėlis/Intro to Imported Libraries and other Functions [Laura]]]&lt;br /&gt;
:Basic functions from various libraries.&lt;br /&gt;
;[[Vadovėlis/The End]]&lt;br /&gt;
:How to go further&lt;br /&gt;
;[[Vadovėlis/FAQ]]&lt;br /&gt;
:Some frequently asked questions&lt;br /&gt;
;[[Vadovėlis/Terminai]]&lt;br /&gt;
:Terminų žodynas&lt;br /&gt;
&lt;br /&gt;
{{Alphabetical|N}}&lt;br /&gt;
{{status|100%}}&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3387</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3387"/>
		<updated>2021-10-11T17:12:41Z</updated>

		<summary type="html">&lt;p&gt;Monika: Rašybos klaidų ištaisymas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodamas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== Ką daro programa? ===&lt;br /&gt;
&lt;br /&gt;
Sekantis dalykas, ką reikia padaryti, tai peržiūrėti pirminį programos tekstą. Tai vienas iš svarbiausių dalykų programavime. Pagrindinis būdas, kaip tai daroma - tai kodo peržiūros.&lt;br /&gt;
&lt;br /&gt;
Kodo peržiūra prasideda pirma eilute ir tęsiasi iki programos galo. &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklai ir &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakiniai reiškia, kad kai kurios eilutės gali būti nekviečiamos niekada, o kai kurios - vykdomos keletą kartų. Kiekvienoje eilutėje turi suprasti, ką daro Python'as.&lt;br /&gt;
&lt;br /&gt;
Pradėkime su paprasta parametro programa. Šios programos nerašyk. Tau reikės ją tik skaityti, ne vykdyti. Programos pirminis tekstas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&lt;br /&gt;
plotis = int(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Klausimas:'' Kuri eilutė vykdoma pirma?&lt;br /&gt;
: ''Atsakymas:'' Pirmoji kodo eilutė visada yra vykdoma pirma. Šiuo atveju tai: &amp;lt;code&amp;gt;aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt; Aukštis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;aukstis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Bendrai, tai yra sekanti eilutė, kuri yra &amp;lt;code&amp;gt;plotis= int(input(&amp;quot;Plotis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;plotis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kai sekanti eilutė nėra daugiau ar mažiau įtraukta, nei esama eilutė, ji ir yra vykdoma. Šiuo atveju tai: &amp;lt;code&amp;gt;print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&amp;lt;/code&amp;gt; (Taip pat gali būti kviečiama funkcija esamoje eilutėje, bet tai bus paaiškinta tolimesniame skyriuje)                                                                       &lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Visų pirma, ji spausdina &amp;lt;code&amp;gt;perimetras = &amp;lt;/code&amp;gt;, o tada - sumą, sudarytą iš kintamųjų &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;, kuri užrašoma taip: &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Ar kodas &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt; skaičiuoja perimetrą teisingai?&lt;br /&gt;
: Pažiūrėkime: stačiakampio perimetras yra apatinė kraštinė (plotis), plius kairė (aukstis), plius viršutinė (plotis), plius dešinė kraštinė (a?). Paskutinis kintamasis turėtų būti dešinės kraštinės ilgis, arba kitaip - aukštis.&lt;br /&gt;
; Ar supranti, kodėl, kai kuriais atvejais, skaičiuojant perimetrą buvo gaunamas teisingas atsakymas?                                                                             &lt;br /&gt;
: Teisingas atsakymas buvo gaunamas kai aukštis ir plotis buvo lygūs.&lt;br /&gt;
&lt;br /&gt;
Sekanti programa, kurios kodo peržiūrą darysime, tai programa, kuri turėtų ekrane išvesti 5 taškus. Tačiau, programos išvestis yra:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
Programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 5&lt;br /&gt;
while skaicius &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    skaicius = skaicius - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Šios programos peržiūra bus kiek sudėtingesnė, nes joje yra įtrauktų kodo dalių. Pradėkime.&lt;br /&gt;
; Kuri eilutė vykdoma pirma?&lt;br /&gt;
: Pirmoji kodo eilutė: &amp;lt;code&amp;gt;skaicius = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Priskiria skaičių 5 kintamajam &amp;quot;skaicius&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Na, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sakiniai žiūri į juose esančius reiškinius. Jei jie yra tiesa, vykdomas sekantis įtrauktas blokas. Jei melas - įtrauktas blokas yra praleidžiamas.&lt;br /&gt;
; Tai ką ji daro šiuo atveju?&lt;br /&gt;
: Jei &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt; yra tiesa, bus vykdomos sekančios dvi eilutės.&lt;br /&gt;
; Taigi, ar &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: Paskutinė vertė, kuri buvo priskirta &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; buvo &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt;, taigi - taip.&lt;br /&gt;
; O kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; buvo tiesa, tai sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina vieną tašką. Kadangi funkcija turi papildomą argumentą &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt;, sekantis spausdinamas tekstas nebus pradedamas naujoje eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;, nes tai yra sekanti eilutė ir nėra jokių įtraukos pasikeitimų.&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė skaičiuoja &amp;lt;code&amp;gt;skaicius - 1&amp;lt;/code&amp;gt;: iš esamos &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertės (5) atimamas 1, ir tai tampa nauja kintamojo &amp;quot;skaicius&amp;quot; reikšmė. Sutrumpintai, &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertė yra pakeičiama iš 5 į 4.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Įtraukos lygis keičiasi, todėl turime žiūrėti į tai, kokią valdymo struktūrą turime. Peržiūrime &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, taigi turime grįžti į &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sąlygą, kuri yra &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė žiūri į &amp;quot;skaicius&amp;quot; reikšmę, kuri yra 4, ir lygina ją su 1. Kadangi &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt;, ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo tiesa, sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ekrane išspausdina dar vieną tašką, po jo padėdama tarpą.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Nėra įtraukos pokyčio, todėl: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ir ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (4), atima 1, kas yra lygu 3 ir priskiria 3 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi turime įtraukos pokytį dėl ciklo, sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3) su 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga yra tiesa, sekanti eilutė: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; O ji daro?&lt;br /&gt;
: Trečias taškas yra spausdinamas eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3), atima 1, kas yra lygu 2 ir priskiria 2 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Vėl grįžtame į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2) su 1. &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklas tęsiasi: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Atranda atsakymą gyvenimui, Visatai, ir viskam. Juokauju (turėjau patikrinti, kad dar neužmigai). Eilutė spausdina ketvirtą tašką ekrane.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2), atima 1, kas yra lygu 1 ir priskiria 1 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Atgal į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Ji palygina &amp;quot;skaicius&amp;quot; reikšmę (1) to 1. Kadangi &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; yra melas (vienas nėra daugiau nei vienas), ciklas baigiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo melas, vykdoma sekanti eilutė esanti už ciklo. Tai yra: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Priverčia ekraną eiti į sekančią eilutę.&lt;br /&gt;
; Kodėl programa nespausdina 5 taškų?&lt;br /&gt;
: Ciklas baigiasi vienu tašku per anksti.&lt;br /&gt;
; Kaip tai sutvarkyti?&lt;br /&gt;
: Priversti ciklą baigtis vienu tašku vėliau.&lt;br /&gt;
; Ir kaip tai padaryti?&lt;br /&gt;
: Yra keli būdai. Vienas iš jų yra pakeisti ciklo sąlygą į: &amp;lt;code&amp;gt;while skaicius &amp;gt; 0:&amp;lt;/code&amp;gt;. Kitas būdas pakeisti sąlygą į: &amp;lt;code&amp;gt;skaicius &amp;gt;= 1&amp;lt;/code&amp;gt;. Yra ir daugiau būdų.&lt;br /&gt;
&lt;br /&gt;
=== Kaip turėčiau taisyti savo programą? ===&lt;br /&gt;
&lt;br /&gt;
Tau reikia suprasti, ką programa daro. Tau reikia suprasti, ką programa turėtų daryti. Suprasti, koks skirtumas tarp šių dviejų dalykų. Derinimas - tai įgūdis, kurį norint išmokti, reikia daug praktikos. Jei po valandos nepavyksta išspręsti problemos, pailsėk, pakalbėk su kuo nors apie tai. Po kurio laiko sugrįžk prie problemos ir greičiausiai turėsi naujų minčių, kaip ją įveikti. Sėkmės.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3386</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3386"/>
		<updated>2021-10-11T17:06:24Z</updated>

		<summary type="html">&lt;p&gt;Monika: Rašybos klaidų ištaisymas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodamas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== Ką daro programa? ===&lt;br /&gt;
&lt;br /&gt;
Sekantis dalykas, ką reikia padaryti, tai peržiūrėti pirminį programos tekstą. Tai vienas iš svarbiausių dalykų programavime. Pagrindinis būdas, kaip tai daroma - tai kodo peržiūros.&lt;br /&gt;
&lt;br /&gt;
Kodo peržiūra prasideda pirma eilute ir tęsiasi iki programos galo. &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklai ir &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakiniai reiškia, kad kai kurios eilutės gali būti nekviečiamos niekada, o kai kurios - vykdomos keletą kartų. Kiekvienoje eilutėje turi suprasti, ką daro Python'as.&lt;br /&gt;
&lt;br /&gt;
Pradėkime su paprasta parametro programa. Šios programos nerašyk. Tau reikės ją tik skaityti, ne vykdyti. Programos pirminis tekstas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&lt;br /&gt;
plotis = int(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Klausimas:'' Kuri eilutė vykdoma pirma?&lt;br /&gt;
: ''Atsakymas:'' Pirmoji kodo eilutė visada yra vykdoma pirma. Šiuo atveju tai: &amp;lt;code&amp;gt;aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt; Aukštis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;aukstis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Bendrai, tai yra sekanti eilutė, kuri yra &amp;lt;code&amp;gt;plotis= int(input(&amp;quot;Plotis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;plotis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kai sekanti eilutė nėra įtraukta daugiau ar mažiau, nei esama eilutė, ji ir yra vykdoma. Šiuo atveju tai: &amp;lt;code&amp;gt;print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&amp;lt;/code&amp;gt; (Taip pat gali būti kviečiama funkcija esamoje eilutėje, bet tai bus paaiškinta tolimesniame skyriuje)                                                                       &lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Visų pirma ji spausdina &amp;lt;code&amp;gt;perimetras = &amp;lt;/code&amp;gt;, o tada - sumą, sudarytą iš kintamųjų &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;, kuri užrašoma taip: &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Ar kodas &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt; skaičiuoja perimetrą teisingai?&lt;br /&gt;
: Pažiūrėkime, stačiakampio perimetras yra apatinė kraštinė (plotis), plius kairė (aukstis), plius viršutinė (plotis), plius dešinė kraštinė (a?). Paskutinis kintamasis turėtų būti dešinės kraštinės ilgis, arba kitaip - aukštis.&lt;br /&gt;
; Ar supranti, kodėl, kai kuriais atvejais, skaičiuojant perimetrą buvo gaunamas teisingas atsakymas?                                                                             &lt;br /&gt;
: Teisingas atsakymas buvo gaunamas kai aukštis ir plotis buvo lygūs.&lt;br /&gt;
&lt;br /&gt;
Sekanti programa, kurios kodo peržiūrą darysime, tai programa, kuri turėtų ekrane išvesti 5 taškus. Tačiau, programos išvestis yra:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
Programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 5&lt;br /&gt;
while skaicius &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    skaicius = skaicius - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Šios programos peržiūra bus kiek sudėtingesnė, nes joje yra įtrauktų kodo dalių. Pradėkime.&lt;br /&gt;
; Kuri eilutė vykdoma pirma?&lt;br /&gt;
: Pirmoji kodo eilutė: &amp;lt;code&amp;gt;skaicius = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Priskiria skaičių 5 kintamajam &amp;quot;skaicius&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Na, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sakiniai žiūri į juose esančius reiškinius. Jei jie yra tiesa, vykdomas sekantis įtrauktas blokas. Jei melas - įtrauktas blokas yra praleidžiamas.&lt;br /&gt;
; Tai ką ji daro šiuo atveju?&lt;br /&gt;
: Jei &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt; yra tiesa, bus vykdomos sekančios dvi eilutės.&lt;br /&gt;
; Taigi, ar &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: Paskutinė vertė, kuri buvo priskirta &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; buvo &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt; taigi - taip.&lt;br /&gt;
; O kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; buvo tiesa, tai sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina vieną tašką. Kadangi funkcija turi papildomą argumentą &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt;, sekantis spausdinamas tekstas nebus pradedamas naujoje eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;, nes tai yra sekanti eilutė ir nėra jokių įtraukos pasikeitimų.&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė skaičiuoja &amp;lt;code&amp;gt;skaicius - 1&amp;lt;/code&amp;gt;: iš esamos &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertės (5) atimamas 1, ir tai tampa nauja kintamojo &amp;quot;skaicius&amp;quot; reikšmė. Sutrumpintai, &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertė yra pakeičiama iš 5 į 4.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Įtraukos lygis keičiasi, todėl turime žiūrėti į tai, kokią valdymo struktūrą turime. Peržiūrime &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, taigi turime grįžti į &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sąlygą, kuri yra &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė žiūri į &amp;quot;skaicius&amp;quot; reikšmę, kuri yra 4, ir lygina ją su 1. Kadangi &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt;, ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo tiesa, sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ekrane išspausdina dar vieną tašką, po jo padėdama tarpą.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Nėra įtraukos pokyčio, todėl: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ir ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (4), atima 1, kas yra lygu 3 ir priskiria 3 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi turime įtraukos pokytį dėl ciklo, sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3) su 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga yra tiesa, sekanti eilutė: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; O ji daro?&lt;br /&gt;
: Trečias taškas yra spausdinamas eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3), atima 1, kas yra lygu 2 ir priskiria 2 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Vėl grįžtame į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2) su 1. &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklas tęsiasi: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Atranda atsakymą gyvenimui, Visatai, ir viskam. Juokauju (turėjau patikrinti, kad dar neužmigai). Eilutė spausdina ketvirtą tašką ekrane.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2), atima 1, kas yra lygu 1 ir priskiria 1 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Atgal į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Ji palygina &amp;quot;skaicius&amp;quot; reikšmę (1) to 1. Kadangi &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; yra melas (vienas nėra daugiau nei vienas), ciklas baigiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo melas, vykdoma sekanti eilutė esanti už ciklo. Tai yra: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Priverčia ekraną eiti į sekančią eilutę.&lt;br /&gt;
; Kodėl programa nespausdina 5 taškų?&lt;br /&gt;
: Ciklas baigiasi vienu tašku per anksti.&lt;br /&gt;
; Kaip tai sutvarkyti?&lt;br /&gt;
: Priversti ciklą baigtis vienu tašku vėliau.&lt;br /&gt;
; Ir kaip tai padaryti?&lt;br /&gt;
: Yra keli būdai. Vienas iš jų yra pakeisti ciklo sąlygą į: &amp;lt;code&amp;gt;while skaicius &amp;gt; 0:&amp;lt;/code&amp;gt;. Kitas būdas pakeisti sąlygą į: &amp;lt;code&amp;gt;skaicius &amp;gt;= 1&amp;lt;/code&amp;gt;. Yra ir daugiau būdų.&lt;br /&gt;
&lt;br /&gt;
=== Kaip turėčiau taisyti savo programą? ===&lt;br /&gt;
&lt;br /&gt;
Tau reikia suprasti, ką programa daro. Tau reikia suprasti, ką programa turėtų daryti. Suprasti, koks skirtumas tarp šių dviejų dalykų. Derinimas - tai įgūdis, kurį norint išmokti, reikia daug praktikos. Jei po valandos nepavyksta išspręsti problemos, pailsėk, pakalbėk su kuo nors apie tai. Po kurio laiko sugrįžk prie problemos ir greičiausiai turėsi naujų minčių, kaip ją įveikti. Sėkmės.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3385</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3385"/>
		<updated>2021-10-11T17:01:11Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta dalis &amp;quot;How do I fix my program?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodemas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== Ką daro programa? ===&lt;br /&gt;
&lt;br /&gt;
Sekantis dalykas, ką reikia padaryti, tai peržiūrėti pirminį programos tekstą. Tai vienas iš svarbiausių dalykų programavime. Pagrindinis būdas, kaip tai daroma - tai kodo peržiūros.&lt;br /&gt;
&lt;br /&gt;
Kodo peržiūra prasideda pirma eilute ir tęsiasi iki programos galo. &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklai ir &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakiniai reiškia, kad kai kurios eilutės gali būti nekviečiamos niekada, o kai kurios - vykdomos keletą kartų. Kiekvienoje eilutėje turi suprasti, ką daro Python'as.&lt;br /&gt;
&lt;br /&gt;
Pradėkime su paprasta parametro programa. Šios programos nerašyk. Tau reikės ją tik skaityti, ne vykdyti. Progamos pirminis tekstas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&lt;br /&gt;
plotis = int(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Klausimas:'' Kuri eilutė vykdoma pirma?&lt;br /&gt;
: ''Atsakymas:'' Pirmoji kodo eilutė visada yra vykdoma pirma. Šiuo atveju tai: &amp;lt;code&amp;gt;aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt; Aukštis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;aukstis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Bendrai, tai yra sekanti eilutė, kuri yra &amp;lt;code&amp;gt;plotis= int(input(&amp;quot;Plotis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;plotis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kai sekanti eilutė nėra įtraukta daugiau ar mažiau, nei esama eilutė, ji ir yra vykdoma. Šiuo atveju tai: &amp;lt;code&amp;gt;print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&amp;lt;/code&amp;gt; (Taip pat gali būti kviečiama funkcija esamoje eilutėje, bet tai bus paaiškinta tolimesniame skyriuje)                                                                       &lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Visų pirma ji spausdina &amp;lt;code&amp;gt;perimetras = &amp;lt;/code&amp;gt;, o tada - sumą, sudarytą iš kintamųjų &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;, kuri užrašoma taip: &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Ar kodas &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt; skaičiuoja perimetrą teisingai?&lt;br /&gt;
: Pažiūrėkime, stačiakampio perimetras yra apatinė kraštinė (plotis), plius kairė (aukstis), plius viršutinė (plotis), plius dešinė kraštinė (a?). Paskutinis kintamasis turėtų būti dešinės kraštinės ilgis, arba kitaip - aukštis.&lt;br /&gt;
; Ar supranti, kodėl, kai kuriais atvejais, skaičiuojant perimetrą buvo gaunamas teisingas atsakymas?                                                                             &lt;br /&gt;
: Teisingas atsakymas buvo gaunamas kai aukštis ir plotis buvo lygūs.&lt;br /&gt;
&lt;br /&gt;
Sekanti programa, kurios kodo peržūrą darysime, tai programa, kuri turėtų ekrane išvesti 5 taškus. Tačiau, programos išvestis yra:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
Programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 5&lt;br /&gt;
while skaicius &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    skaicius = skaicius - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Šios programos peržiūra bus kiek sudėtingesnė, nes joje yra įtrauktų kodo dalių. Pradėkime.&lt;br /&gt;
; Kuri eilutė vykdoma pirma?&lt;br /&gt;
: Pirmoji kodo eilutė: &amp;lt;code&amp;gt;skaicius = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Priskiria skaičių 5 kintamajam &amp;quot;skaicius&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Na, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sakiniai žiūri į juose esančius reiškinius. Jei jie yra tiesa, vykdomas sekantis įtrauktas blokas. Jei melas - įtrauktas blokas yra praleidžiamas.&lt;br /&gt;
; Tai ką ji daro šiuo atveju?&lt;br /&gt;
: Jei &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt; yra tiesa, bus vykdomos sekančios dvi eilutės.&lt;br /&gt;
; Taigi, ar &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: Paskutinė vertė, kuri buvo priskirta &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; buvo &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt; taigi - taip.&lt;br /&gt;
; O kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; buvo tiesa, tai sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina vieną tašką. Kadangi funkcija turi papildomą argumentą &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt;, sekantis spausdinamas tekstas nebus pradedamas naujoje eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;, nes tai yra sekanti eilutė ir nėra jokių įtraukos pasikeitimų.&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė skaičiuoja &amp;lt;code&amp;gt;skaicius - 1&amp;lt;/code&amp;gt;: iš esamos &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertės (5) atimamas 1, ir tai tampa nauja kintamojo &amp;quot;skaicius&amp;quot; reikšmė. Sutrumpintai,&amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertė yra pakeičiama iš 5 į 4.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Įtraukos lygis keičiasi, todėl turime žiūrėti į tai, kokią valdymo struktūrą turime. Peržiūrime &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, taigi turime grįžti į &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sąlygą, kuri yra &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė žiūri į &amp;quot;skaicius&amp;quot; reikšmę, kuri yra 4, ir lygina ją su 1. Kadangi &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt;, ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo tiesa, sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ekrane išspausdina dar vieną tašką, po jo padėdama tarpą.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Nėra įtraukos pokyčio, todėl: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ir ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (4), atima 1, kas yra lygu 3 ir priskiria 3 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi turime įtraukos pokytį dėl ciklo, sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3) su 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga yra tiesa, sekanti eilutė: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; O ji daro?&lt;br /&gt;
: Trečias taškas yra spausdinamas eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3), atima 1, kas yra lygu 2 ir priskiria 2 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Vėl grįžtame į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2) su 1. &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklas tęsiasi: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Atranda atsakymą gyvenimui, Visatai, ir viskam. Juokauju (turėjau patikrinti, kad dar neužmigai). Eilutė spausdina ketvirtą tašką ekrane.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2), atima 1, kas yra lygu 1 ir priskiria 1 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Atgal į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Ji palygina &amp;quot;skaicius&amp;quot; reikšmę (1) to 1. Kadangi &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; yra melas (vienas nėra daugiau nei vienas), ciklas baigiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo melas, vykdoma sekanti eilutė esanti už ciklo. Tai yra: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Priverčia ekraną eiti į sekančią eilutę.&lt;br /&gt;
; Kodėl programa nespausdina 5 taškų?&lt;br /&gt;
: Ciklas baigiasi vienu tašku per anksti.&lt;br /&gt;
; Kaip tai sutvarkyti?&lt;br /&gt;
: Priversti ciklą baigtis vienu tašku vėliau.&lt;br /&gt;
; Ir kaip tai padaryti?&lt;br /&gt;
: Yra keli būdai. Vienas iš jų yra pakeisti ciklo sąlygą į: &amp;lt;code&amp;gt;while skaicius &amp;gt; 0:&amp;lt;/code&amp;gt;. Kitas būdas pakeisti sąlygą į: &amp;lt;code&amp;gt;skaicius &amp;gt;= 1&amp;lt;/code&amp;gt;. Yra ir daugiau būdų.&lt;br /&gt;
&lt;br /&gt;
=== Kaip turėčiau taisyti savo programą? ===&lt;br /&gt;
&lt;br /&gt;
Tau reikia suprasti, ką programa daro. Tau reikia suprasti, ką programa turėtų daryti. Suprasti, koks skirtumas tarp šių dviejų dalykų. Derinimas - tai įgūdis, kurį norint išmokti, reikia daug praktikos. Jei po valandos nepavyksta išspręsti problemos, pailsėk, pakalbėk su kuo nors apie tai. Po kurio laiko sugrįžk prie problemos ir greičiausiai turėsi naujų minčių, kaip ją įveikti. Sėkmės.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3229</id>
		<title>Python Vadovėlis/Terminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3229"/>
		<updated>2021-10-06T17:38:43Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėti nauji terminai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer - kompiuteris &lt;br /&gt;
&lt;br /&gt;
Control strukture - valdymo struktūra&lt;br /&gt;
&lt;br /&gt;
Debugging - derinimas&lt;br /&gt;
&lt;br /&gt;
Exercise - pratimas&lt;br /&gt;
&lt;br /&gt;
Expression - reiškinys&lt;br /&gt;
&lt;br /&gt;
Feature - ypatybė&lt;br /&gt;
&lt;br /&gt;
Floating point - slankusis kablelis&lt;br /&gt;
&lt;br /&gt;
Indent - įtrauka&lt;br /&gt;
&lt;br /&gt;
Mouse - pelė&lt;br /&gt;
&lt;br /&gt;
Operator - operatorius&lt;br /&gt;
&lt;br /&gt;
Optional - pasirinktinas&lt;br /&gt;
&lt;br /&gt;
Output - išvestis/rezultatas&lt;br /&gt;
&lt;br /&gt;
Prompt - kviesti&lt;br /&gt;
&lt;br /&gt;
Python - Python'as&lt;br /&gt;
&lt;br /&gt;
Run (daikt.) - vykdymas &lt;br /&gt;
&lt;br /&gt;
Solution - sprendimas&lt;br /&gt;
&lt;br /&gt;
Source code - pirminis programos tekstas&lt;br /&gt;
&lt;br /&gt;
Statement - sakinys&lt;br /&gt;
&lt;br /&gt;
String - eilutė&lt;br /&gt;
&lt;br /&gt;
User - naudotojas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=FAQ |next=END}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3228</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3228"/>
		<updated>2021-10-06T17:35:54Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta dalis &amp;quot;What does the program do?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodemas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== Ką daro programa? ===&lt;br /&gt;
&lt;br /&gt;
Sekantis dalykas, ką reikia padaryti, tai peržiūrėti pirminį programos tekstą. Tai vienas iš svarbiausių dalykų programavime. Pagrindinis būdas, kaip tai daroma - tai kodo peržiūros.&lt;br /&gt;
&lt;br /&gt;
Kodo peržiūra prasideda pirma eilute ir tęsiasi iki programos galo. &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklai ir &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakiniai reiškia, kad kai kurios eilutės gali būti nekviečiamos niekada, o kai kurios - vykdomos keletą kartų. Kiekvienoje eilutėje turi suprasti, ką daro Python'as.&lt;br /&gt;
&lt;br /&gt;
Pradėkime su paprasta parametro programa. Šios programos nerašyk. Tau reikės ją tik skaityti, ne vykdyti. Progamos pirminis tekstas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&lt;br /&gt;
plotis = int(input(&amp;quot;Plotis: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Klausimas:'' Kuri eilutė vykdoma pirma?&lt;br /&gt;
: ''Atsakymas:'' Pirmoji kodo eilutė visada yra vykdoma pirma. Šiuo atveju tai: &amp;lt;code&amp;gt;aukstis = int(input(&amp;quot;Aukštis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt; Aukštis: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;aukstis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Bendrai, tai yra sekanti eilutė, kuri yra &amp;lt;code&amp;gt;plotis= int(input(&amp;quot;Plotis: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, laukia, kol naudotojas įves teksto eilutę ir ją konvertuoja į sveikąjį kintamąjį &amp;quot;plotis&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kai sekanti eilutė nėra įtraukta daugiau ar mažiau, nei esama eilutė, ji ir yra vykdoma. Šiuo atveju tai: &amp;lt;code&amp;gt;print(&amp;quot;perimetras =&amp;quot;, plotis + aukstis + plotis + plotis)&amp;lt;/code&amp;gt; (Taip pat gali būti kviečiama funkcija esamoje eilutėje, bet tai bus paaiškinta tolimesniame skyriuje)                                                                       &lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Visų pirma ji spausdina &amp;lt;code&amp;gt;perimetras = &amp;lt;/code&amp;gt;, o tada - sumą, sudarytą iš kintamųjų &amp;lt;code&amp;gt;plotis&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;aukstis&amp;lt;/code&amp;gt;, kuri užrašoma taip: &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Ar kodas &amp;lt;code&amp;gt;plotis + aukstis + plotis + plotis&amp;lt;/code&amp;gt; skaičiuoja perimetrą teisingai?&lt;br /&gt;
: Pažiūrėkime, stačiakampio perimetras yra apatinė kraštinė (plotis), plius kairė (aukstis), plius viršutinė (plotis), plius dešinė kraštinė (a?). Paskutinis kintamasis turėtų būti dešinės kraštinės ilgis, arba kitaip - aukštis.&lt;br /&gt;
; Ar supranti, kodėl, kai kuriais atvejais, skaičiuojant perimetrą buvo gaunamas teisingas atsakymas?                                                                             &lt;br /&gt;
: Teisingas atsakymas buvo gaunamas kai aukštis ir plotis buvo lygūs.&lt;br /&gt;
&lt;br /&gt;
Sekanti programa, kurios kodo peržūrą darysime, tai programa, kuri turėtų ekrane išvesti 5 taškus. Tačiau, programos išvestis yra:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
Programa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 5&lt;br /&gt;
while skaicius &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    skaicius = skaicius - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Šios programos peržiūra bus kiek sudėtingesnė, nes joje yra įtrauktų kodo dalių. Pradėkime.&lt;br /&gt;
; Kuri eilutė vykdoma pirma?&lt;br /&gt;
: Pirmoji kodo eilutė: &amp;lt;code&amp;gt;skaicius = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Priskiria skaičių 5 kintamajam &amp;quot;skaicius&amp;quot;.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Na, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sakiniai žiūri į juose esančius reiškinius. Jei jie yra tiesa, vykdomas sekantis įtrauktas blokas. Jei melas - įtrauktas blokas yra praleidžiamas.&lt;br /&gt;
; Tai ką ji daro šiuo atveju?&lt;br /&gt;
: Jei &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt; yra tiesa, bus vykdomos sekančios dvi eilutės.&lt;br /&gt;
; Taigi, ar &amp;lt;code&amp;gt;skaicius &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: Paskutinė vertė, kuri buvo priskirta &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; buvo &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; ir &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt; taigi - taip.&lt;br /&gt;
; O kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; buvo tiesa, tai sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Spausdina vieną tašką. Kadangi funkcija turi papildomą argumentą &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt;, sekantis spausdinamas tekstas nebus pradedamas naujoje eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;, nes tai yra sekanti eilutė ir nėra jokių įtraukos pasikeitimų.&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė skaičiuoja &amp;lt;code&amp;gt;skaicius - 1&amp;lt;/code&amp;gt;: iš esamos &amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertės (5) atimamas 1, ir tai tampa nauja kintamojo &amp;quot;skaicius&amp;quot; reikšmė. Sutrumpintai,&amp;lt;code&amp;gt;skaicius&amp;lt;/code&amp;gt; vertė yra pakeičiama iš 5 į 4.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Įtraukos lygis keičiasi, todėl turime žiūrėti į tai, kokią valdymo struktūrą turime. Peržiūrime &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; ciklą, taigi turime grįžti į &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; sąlygą, kuri yra &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Eilutė žiūri į &amp;quot;skaicius&amp;quot; reikšmę, kuri yra 4, ir lygina ją su 1. Kadangi &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt;, ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo tiesa, sekanti eilutė yra: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ekrane išspausdina dar vieną tašką, po jo padėdama tarpą.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Nėra įtraukos pokyčio, todėl: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ir ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (4), atima 1, kas yra lygu 3 ir priskiria 3 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi turime įtraukos pokytį dėl ciklo, sekanti eilutė yra: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3) su 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga yra tiesa, sekanti eilutė: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; O ji daro?&lt;br /&gt;
: Trečias taškas yra spausdinamas eilutėje.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (3), atima 1, kas yra lygu 2 ir priskiria 2 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Vėl grįžtame į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Palygina dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2) su 1. &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt;, todėl ciklas tęsiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklas tęsiasi: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Atranda atsakymą gyvenimui, Visatai, ir viskam. Juokauju (turėjau patikrinti, kad dar neužmigai). Eilutė spausdina ketvirtą tašką ekrane.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Tai: &amp;lt;code&amp;gt;skaicius = skaicius - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką ji daro?&lt;br /&gt;
: Ima dabartinę &amp;quot;skaicius&amp;quot; reikšmę (2), atima 1, kas yra lygu 1 ir priskiria 1 kaip naują &amp;quot;skaicius&amp;quot; reikšmę.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Atgal į ciklo pradžią: &amp;lt;code&amp;gt;while skaicius &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Ji palygina &amp;quot;skaicius&amp;quot; reikšmę (1) to 1. Kadangi &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; yra melas (vienas nėra daugiau nei vienas), ciklas baigiasi.&lt;br /&gt;
; Kuri eilutė vykdoma po to?&lt;br /&gt;
: Kadangi ciklo sąlyga buvo melas, vykdoma sekanti eilutė esanti už ciklo. Tai yra: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; Ką daro ši eilutė?&lt;br /&gt;
: Priverčia ekraną eiti į sekančią eilutę.&lt;br /&gt;
; Kodėl programa nespausdina 5 taškų?&lt;br /&gt;
: Ciklas baigiasi vienu tašku per anksti.&lt;br /&gt;
; Kaip tai sutvarkyti?&lt;br /&gt;
: Priversti ciklą baigtis vienu tašku vėliau.&lt;br /&gt;
; Ir kaip tai padaryti?&lt;br /&gt;
: Yra keli būdai. Vienas iš jų yra pakeisti ciklo sąlygą į: &amp;lt;code&amp;gt;while skaicius &amp;gt; 0:&amp;lt;/code&amp;gt;. Kitas būdas pakeisti sąlygą į: &amp;lt;code&amp;gt;skaicius &amp;gt;= 1&amp;lt;/code&amp;gt;. Yra ir daugiau būdų.&lt;br /&gt;
&lt;br /&gt;
=== How do I fix my program? ===&lt;br /&gt;
&lt;br /&gt;
You need to figure out what the program is doing.  You need to figure out what the program should do.  Figure out what the difference between the two is.  Debugging is a skill that has to be practiced to be learned. If you can't figure it out after an hour, take a break, talk to someone about the problem or contemplate the lint in your navel.  Come back in a while and you will probably have new ideas about the problem.  Good luck.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3227</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3227"/>
		<updated>2021-10-06T16:44:50Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Kaip visada, aš tikiu, kad turėčiau pradėti kiekvieną skyrių su apšilimo pratimu. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absoliučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;quot;&amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;&amp;quot;. Tada jis skaito eilutę &amp;quot;&amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;&amp;quot;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;&amp;quot;. Kitu atveju, jis vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar ''reiškinys'' &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra tiesa ar melas. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių ''bloko'', kuris vykdomas tik jei reiškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių ''blokas''. Antrasis sakinių blokas yra vykdomas tik jei reiškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Reiškinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai ''else if'' sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra melas, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra tiesa, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvestis:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvestis&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidžia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif skaicius % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Parašyk programą, kuri prašo naudotojo įvesti savo vardą. Jei jis įveda tavo vardą, išvesk &amp;quot;Tai puikus vardas&amp;quot;. Jei jie įveda &amp;quot;Jonas Jonaitis&amp;quot; arba &amp;quot;Petras Petraitis&amp;quot;, išvesk kokį nors juokingą tekstą. Kitu atveju, išvesk &amp;quot;Tavo vardas yra labai gražus&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
vardas = input('Tavo vardas: ')&lt;br /&gt;
if vardas == 'Lukas':&lt;br /&gt;
    print('Tai puikus vardas.')&lt;br /&gt;
elif vardas == 'Jonas Jonaitis':&lt;br /&gt;
    print('... juokingas tekstas apie Joną.')&lt;br /&gt;
elif vardas == 'Petras Petraitis':&lt;br /&gt;
    print('... juokingas tekstas apie Petrą.')&lt;br /&gt;
else:&lt;br /&gt;
    print('Tavo vardas yra labai gražus.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Pakeisk aukščiau esančią &amp;quot;daugiau_maziau.py&amp;quot; programą, kad ji papildomai skaičiuotų, kiek kartų naudotojas įvedė neteisingą skaičių. Jei taip nutiko daugiau, nei tris kartus, programos pabaigoje išvesk &amp;quot;Tai buvo sudėtinga.&amp;quot;, o kitu atveju - &amp;quot;Gerai padirbėjai!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
kiekis = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
    kiekis = kiekis + 1&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if kiekis &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;Tai buvo sudėtinga.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Gerai padirbėjai!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri prašo įvesti du skaičius. Jei skaičių suma yra didesnė nei 100, išvesk &amp;quot;Tai yra didelis skaičius&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius1 = float(input('Pirmas skaičius: '))&lt;br /&gt;
skaicius2 = float(input('Antras skaičius: '))&lt;br /&gt;
if skaicius1 + skaicius2 &amp;gt; 100:&lt;br /&gt;
    print('Skaičių suma yra didelis skaičius.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3226</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3226"/>
		<updated>2021-10-06T16:44:26Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodemas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvestis (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== What does the program do? ===&lt;br /&gt;
&lt;br /&gt;
The next thing to do is to look at the source code.  One of the most important things to do while programming is reading source code.  The primary way to do this is code walkthroughs.  &lt;br /&gt;
&lt;br /&gt;
A code walkthrough starts at the first line, and works its way down until the program is done.  &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; loops and &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; statements mean that some lines may never be run and some lines are run many times.  At each line you figure out what Python has done.&lt;br /&gt;
&lt;br /&gt;
Lets start with the simple perimeter program.  Don't type it in, you are going to read it, not run it.  The source code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
height = int(input(&amp;quot;Height: &amp;quot;))&lt;br /&gt;
width = int(input(&amp;quot;Width: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimeter =&amp;quot;, width + height + width + width)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Question:'' What is the first line Python runs?&lt;br /&gt;
: ''Answer:'' The first line is always run first.  In this case it is: &amp;lt;code&amp;gt;height = int(input(&amp;quot;Height: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints &amp;lt;code&amp;gt; Height: &amp;lt;/code&amp;gt;, waits for the user to type a string in, and then converts the string to an integer variable height.&lt;br /&gt;
; What is the next line that runs?&lt;br /&gt;
: In general, it is the next line down which is: &amp;lt;code&amp;gt;width = int(input(&amp;quot;Width: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, waits for the user to type a number in, and puts what the user types in the variable width.&lt;br /&gt;
; What is the next line that runs?&lt;br /&gt;
: When the next line is not indented more or less than the current line, it is the line right afterwards, so it is: &amp;lt;code&amp;gt;print(&amp;quot;perimeter = &amp;quot;, width + height + width + width)&amp;lt;/code&amp;gt; (It may also run a function in the current line, but that's a future chapter.)                                                                       &lt;br /&gt;
; What does that line do?&lt;br /&gt;
: First it prints &amp;lt;code&amp;gt;perimeter = &amp;lt;/code&amp;gt;, then it prints the sum of the values contained within the variables, &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;, from &amp;lt;code&amp;gt;width + height + width + width&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Does &amp;lt;code&amp;gt;width + height + width + width&amp;lt;/code&amp;gt; calculate the perimeter properly?&lt;br /&gt;
: Let's see, perimeter of a rectangle is the bottom (width) plus the left side (height) plus the top (width) plus the right side (huh?). The last item should be the right side's length, or the height.&lt;br /&gt;
; Do you understand why some of the times the perimeter was calculated &amp;quot;correctly&amp;quot;?                                                                             &lt;br /&gt;
: It was calculated correctly when the width and the height were equal.&lt;br /&gt;
&lt;br /&gt;
The next program we will do a code walkthrough for is a program that is supposed to print out 5 dots on the screen.  However, this is what the program is outputting:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
And here is the program:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number = 5&lt;br /&gt;
while number &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    number = number - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will be more complex to walkthrough since it now has indented portions (or control structures).  Let us begin.&lt;br /&gt;
; What is the first line to be run?&lt;br /&gt;
: The first line of the file: &amp;lt;code&amp;gt;number = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Puts the number 5 in the variable number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: The next line is: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Well, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; statements in general look at their expression, and if it is true they do the next indented block of code, otherwise they skip the next indented block of code.&lt;br /&gt;
; So what does it do right now?&lt;br /&gt;
: If &amp;lt;code&amp;gt;number &amp;gt; 1&amp;lt;/code&amp;gt; is true then the next two lines will be run.&lt;br /&gt;
; So is &amp;lt;code&amp;gt;number &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: The last value put into &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; was &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt; so yes.&lt;br /&gt;
; So what is the next line?&lt;br /&gt;
: Since the &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; was true the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints one dot and since the extra argument &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt; exists the next printed text will not be on a different screen line.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt; since that is following line and there are no indent changes.&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It calculates &amp;lt;code&amp;gt;number - 1&amp;lt;/code&amp;gt;, which is the current value of &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; (or 5) subtracts 1 from it, and makes that the new value of number.  So basically it changes &amp;lt;code&amp;gt; number&amp;lt;/code&amp;gt;'s value from 5 to 4.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Well, the indent level decreases so we have to look at what type of control structure it is.  It is a &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; loop, so we have to go back to the &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; clause which is &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It looks at the value of number, which is 4, and compares it to 1 and since &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt; the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop was true, the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It prints a second dot on the line, ending by a space.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: No indent change so it is: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; And what does it do?&lt;br /&gt;
: It takes the current value of number (4), subtracts 1 from it, which gives it 3 and then finally makes 3 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since there is an indent change caused by the end of the while loop, the next line is: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It compares the current value of number (3) to 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt; so the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop condition was true the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; And it does what?&lt;br /&gt;
: A third dot is printed on the line.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: It is: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It takes the current value of number (3) subtracts from it 1 and makes the 2 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Back up to the start of the while loop: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It compares the current value of number (2) to 1.  Since &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt; the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop is continuing: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It discovers the meaning of life, the universe and everything.  I'm joking. (I had to make sure you were awake.)  The line prints a fourth dot on the screen.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: It's: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Takes the current value of number (2) subtracts 1 and makes 1 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Back up to the while loop: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does the line do?&lt;br /&gt;
: It compares the current value of number (1) to 1. Since &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; is false (one is not greater than one), the while loop exits.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop condition was false the next line is the line after the while loop exits, or: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Makes the screen go to the next line.&lt;br /&gt;
; Why doesn't the program print 5 dots?&lt;br /&gt;
: The loop exits 1 dot too soon.&lt;br /&gt;
; How can we fix that?&lt;br /&gt;
: Make the loop exit 1 dot later.&lt;br /&gt;
; And how do we do that?&lt;br /&gt;
: There are several ways.  One way would be to change the while loop to: &amp;lt;code&amp;gt;while number &amp;gt; 0:&amp;lt;/code&amp;gt;  Another way would be to change the conditional to: &amp;lt;code&amp;gt;number &amp;gt;= 1&amp;lt;/code&amp;gt;  There are a couple others.&lt;br /&gt;
&lt;br /&gt;
=== How do I fix my program? ===&lt;br /&gt;
&lt;br /&gt;
You need to figure out what the program is doing.  You need to figure out what the program should do.  Figure out what the difference between the two is.  Debugging is a skill that has to be practiced to be learned. If you can't figure it out after an hour, take a break, talk to someone about the problem or contemplate the lint in your navel.  Come back in a while and you will probably have new ideas about the problem.  Good luck.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3225</id>
		<title>Python Vadovėlis/Terminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3225"/>
		<updated>2021-10-06T16:44:04Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pataisytas &amp;quot;Output&amp;quot; vertimas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer - kompiuteris &lt;br /&gt;
&lt;br /&gt;
Debugging - derinimas&lt;br /&gt;
&lt;br /&gt;
Exercise - pratimas&lt;br /&gt;
&lt;br /&gt;
Expression - reiškinys&lt;br /&gt;
&lt;br /&gt;
Feature - ypatybė&lt;br /&gt;
&lt;br /&gt;
Floating point - slankusis kablelis&lt;br /&gt;
&lt;br /&gt;
Indent - įtrauka&lt;br /&gt;
&lt;br /&gt;
Mouse - pelė&lt;br /&gt;
&lt;br /&gt;
Operator - operatorius&lt;br /&gt;
&lt;br /&gt;
Optional - pasirinktinas&lt;br /&gt;
&lt;br /&gt;
Output - išvestis/rezultatas&lt;br /&gt;
&lt;br /&gt;
Prompt - kviesti&lt;br /&gt;
&lt;br /&gt;
Python - Python'as&lt;br /&gt;
&lt;br /&gt;
Run (daikt.) - vykdymas &lt;br /&gt;
&lt;br /&gt;
Solution - sprendimas&lt;br /&gt;
&lt;br /&gt;
Statement - sakinys&lt;br /&gt;
&lt;br /&gt;
User - naudotojas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=FAQ |next=END}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Autoriai&amp;diff=3224</id>
		<title>Python Vadovėlis/Autoriai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Autoriai&amp;diff=3224"/>
		<updated>2021-10-06T12:48:25Z</updated>

		<summary type="html">&lt;p&gt;Monika: Į autorius pridėta Monika Bijeikytė&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Originalaus (angliško) vadovėlio autoriai&lt;br /&gt;
&lt;br /&gt;
; Josh Cogliati&lt;br /&gt;
: Jrincayc, jjcogliati-jan2007 AT yahoo.com&lt;br /&gt;
&lt;br /&gt;
=== Angliškos versijos bendraautoriai ===&lt;br /&gt;
* Mitchell Aikens, LGIT, WSIT, AAS &lt;br /&gt;
* Kiah Morante &lt;br /&gt;
*Elizabeth Cogliati&lt;br /&gt;
*James A. Brown&lt;br /&gt;
*Joe Oppegaard&lt;br /&gt;
*Benjamin Hell &lt;br /&gt;
&lt;br /&gt;
=== Lietuviškas vertimas ir modifikacija ===&lt;br /&gt;
* Mantas Urbonas, Visma Lietuva&lt;br /&gt;
* Povilas Jeremičius, Visma Lietuva&lt;br /&gt;
* Martynas Teleiša, Visma lietuva&lt;br /&gt;
* Artūras Nikončukas, Visma Lietuva&lt;br /&gt;
* Laura Kutovaja, Visma Lietuva&lt;br /&gt;
* Monika Bijeikytė, Visma Lietuva&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=BEGINNING |next=Front matter}}&lt;br /&gt;
{{BookCat}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3195</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3195"/>
		<updated>2021-10-04T17:44:42Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta dalis &amp;quot;What should the program do?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodemas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== Ką turėtų daryti programa? ===&lt;br /&gt;
&lt;br /&gt;
Pirmas dalykas, ką reikia padaryti (kad ir kaip akivaizdžiai tai skamba), tai suprasti, ką turėtų daryti teisingai veikianti programa. Sugalvok kelis tikrinimo scenarijus ir pažiūrėk, kas nutiks. Tarkime, kad aš noriu sukurti programą, kuri suskaičiuoja stačiakampio perimetrą (visų kraštinių sumą). Turiu tokius tikrinimo scenarijus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!aukštis !! plotis !!perimetras&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dabar galiu vykdyti savo programą su visais tikrinimo scenarijais ir pamatyti, ar programa daro tai, ko tikiuosi. Jei ne, turiu suprasti, ką iš tiesų daro kompiuteris.&lt;br /&gt;
&lt;br /&gt;
Dažniausiai, dalis tikrinimo scenarijų veikia, dalis - ne. Jei toks yra ir tavo atvejis, turėtum bandyti suprasti, ką veikiantys scenarijai turi bendro. &lt;br /&gt;
Pavyzdžiui, apačioje yra perimetro programos išvedimas (kodas bus pateiktas kiek vėliau):&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''3'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 15&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''3'''&lt;br /&gt;
 Perimetras = 11&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''4'''&lt;br /&gt;
 Plotis: '''4'''&lt;br /&gt;
 Perimetras = 16&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''2'''&lt;br /&gt;
 Plotis: '''2'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
 Aukštis: '''5'''&lt;br /&gt;
 Plotis: '''1'''&lt;br /&gt;
 Perimetras = 8&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad programa neveikė su pirmomis dvejomis įvestimis, veikė su sekančiomis dvejomis ir vėl neveikė su paskutine. Pabandyk sugalvoti, kas yra bendro tarp veikiančių scenarijų. Kai supranti, kokia yra programos problema, atrasti jos priežastį yra daug lengviau. Jei reikia, savo programoms gali sugalvoti ir daugiau tikrinimo scenarijų.&lt;br /&gt;
&lt;br /&gt;
=== What does the program do? ===&lt;br /&gt;
&lt;br /&gt;
The next thing to do is to look at the source code.  One of the most important things to do while programming is reading source code.  The primary way to do this is code walkthroughs.  &lt;br /&gt;
&lt;br /&gt;
A code walkthrough starts at the first line, and works its way down until the program is done.  &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; loops and &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; statements mean that some lines may never be run and some lines are run many times.  At each line you figure out what Python has done.&lt;br /&gt;
&lt;br /&gt;
Lets start with the simple perimeter program.  Don't type it in, you are going to read it, not run it.  The source code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
height = int(input(&amp;quot;Height: &amp;quot;))&lt;br /&gt;
width = int(input(&amp;quot;Width: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimeter =&amp;quot;, width + height + width + width)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Question:'' What is the first line Python runs?&lt;br /&gt;
: ''Answer:'' The first line is always run first.  In this case it is: &amp;lt;code&amp;gt;height = int(input(&amp;quot;Height: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints &amp;lt;code&amp;gt; Height: &amp;lt;/code&amp;gt;, waits for the user to type a string in, and then converts the string to an integer variable height.&lt;br /&gt;
; What is the next line that runs?&lt;br /&gt;
: In general, it is the next line down which is: &amp;lt;code&amp;gt;width = int(input(&amp;quot;Width: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, waits for the user to type a number in, and puts what the user types in the variable width.&lt;br /&gt;
; What is the next line that runs?&lt;br /&gt;
: When the next line is not indented more or less than the current line, it is the line right afterwards, so it is: &amp;lt;code&amp;gt;print(&amp;quot;perimeter = &amp;quot;, width + height + width + width)&amp;lt;/code&amp;gt; (It may also run a function in the current line, but that's a future chapter.)                                                                       &lt;br /&gt;
; What does that line do?&lt;br /&gt;
: First it prints &amp;lt;code&amp;gt;perimeter = &amp;lt;/code&amp;gt;, then it prints the sum of the values contained within the variables, &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;, from &amp;lt;code&amp;gt;width + height + width + width&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Does &amp;lt;code&amp;gt;width + height + width + width&amp;lt;/code&amp;gt; calculate the perimeter properly?&lt;br /&gt;
: Let's see, perimeter of a rectangle is the bottom (width) plus the left side (height) plus the top (width) plus the right side (huh?). The last item should be the right side's length, or the height.&lt;br /&gt;
; Do you understand why some of the times the perimeter was calculated &amp;quot;correctly&amp;quot;?                                                                             &lt;br /&gt;
: It was calculated correctly when the width and the height were equal.&lt;br /&gt;
&lt;br /&gt;
The next program we will do a code walkthrough for is a program that is supposed to print out 5 dots on the screen.  However, this is what the program is outputting:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
And here is the program:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number = 5&lt;br /&gt;
while number &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    number = number - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will be more complex to walkthrough since it now has indented portions (or control structures).  Let us begin.&lt;br /&gt;
; What is the first line to be run?&lt;br /&gt;
: The first line of the file: &amp;lt;code&amp;gt;number = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Puts the number 5 in the variable number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: The next line is: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Well, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; statements in general look at their expression, and if it is true they do the next indented block of code, otherwise they skip the next indented block of code.&lt;br /&gt;
; So what does it do right now?&lt;br /&gt;
: If &amp;lt;code&amp;gt;number &amp;gt; 1&amp;lt;/code&amp;gt; is true then the next two lines will be run.&lt;br /&gt;
; So is &amp;lt;code&amp;gt;number &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: The last value put into &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; was &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt; so yes.&lt;br /&gt;
; So what is the next line?&lt;br /&gt;
: Since the &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; was true the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints one dot and since the extra argument &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt; exists the next printed text will not be on a different screen line.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt; since that is following line and there are no indent changes.&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It calculates &amp;lt;code&amp;gt;number - 1&amp;lt;/code&amp;gt;, which is the current value of &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; (or 5) subtracts 1 from it, and makes that the new value of number.  So basically it changes &amp;lt;code&amp;gt; number&amp;lt;/code&amp;gt;'s value from 5 to 4.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Well, the indent level decreases so we have to look at what type of control structure it is.  It is a &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; loop, so we have to go back to the &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; clause which is &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It looks at the value of number, which is 4, and compares it to 1 and since &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt; the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop was true, the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It prints a second dot on the line, ending by a space.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: No indent change so it is: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; And what does it do?&lt;br /&gt;
: It takes the current value of number (4), subtracts 1 from it, which gives it 3 and then finally makes 3 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since there is an indent change caused by the end of the while loop, the next line is: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It compares the current value of number (3) to 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt; so the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop condition was true the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; And it does what?&lt;br /&gt;
: A third dot is printed on the line.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: It is: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It takes the current value of number (3) subtracts from it 1 and makes the 2 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Back up to the start of the while loop: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It compares the current value of number (2) to 1.  Since &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt; the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop is continuing: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It discovers the meaning of life, the universe and everything.  I'm joking. (I had to make sure you were awake.)  The line prints a fourth dot on the screen.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: It's: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Takes the current value of number (2) subtracts 1 and makes 1 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Back up to the while loop: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does the line do?&lt;br /&gt;
: It compares the current value of number (1) to 1. Since &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; is false (one is not greater than one), the while loop exits.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop condition was false the next line is the line after the while loop exits, or: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Makes the screen go to the next line.&lt;br /&gt;
; Why doesn't the program print 5 dots?&lt;br /&gt;
: The loop exits 1 dot too soon.&lt;br /&gt;
; How can we fix that?&lt;br /&gt;
: Make the loop exit 1 dot later.&lt;br /&gt;
; And how do we do that?&lt;br /&gt;
: There are several ways.  One way would be to change the while loop to: &amp;lt;code&amp;gt;while number &amp;gt; 0:&amp;lt;/code&amp;gt;  Another way would be to change the conditional to: &amp;lt;code&amp;gt;number &amp;gt;= 1&amp;lt;/code&amp;gt;  There are a couple others.&lt;br /&gt;
&lt;br /&gt;
=== How do I fix my program? ===&lt;br /&gt;
&lt;br /&gt;
You need to figure out what the program is doing.  You need to figure out what the program should do.  Figure out what the difference between the two is.  Debugging is a skill that has to be practiced to be learned. If you can't figure it out after an hour, take a break, talk to someone about the problem or contemplate the lint in your navel.  Come back in a while and you will probably have new ideas about the problem.  Good luck.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3173</id>
		<title>Python Vadovėlis/Terminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3173"/>
		<updated>2021-10-03T15:40:33Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėti nauji terminai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer - kompiuteris &lt;br /&gt;
&lt;br /&gt;
Debugging - derinimas&lt;br /&gt;
&lt;br /&gt;
Exercise - pratimas&lt;br /&gt;
&lt;br /&gt;
Expression - reiškinys&lt;br /&gt;
&lt;br /&gt;
Feature - ypatybė&lt;br /&gt;
&lt;br /&gt;
Floating point - slankusis kablelis&lt;br /&gt;
&lt;br /&gt;
Indent - įtrauka&lt;br /&gt;
&lt;br /&gt;
Mouse - pelė&lt;br /&gt;
&lt;br /&gt;
Operator - operatorius&lt;br /&gt;
&lt;br /&gt;
Optional - pasirinktinas&lt;br /&gt;
&lt;br /&gt;
Output - išvedimas/rezultatas&lt;br /&gt;
&lt;br /&gt;
Prompt - kviesti&lt;br /&gt;
&lt;br /&gt;
Python - Python'as&lt;br /&gt;
&lt;br /&gt;
Run (daikt.) - vykdymas &lt;br /&gt;
&lt;br /&gt;
Solution - sprendimas&lt;br /&gt;
&lt;br /&gt;
Statement - sakinys&lt;br /&gt;
&lt;br /&gt;
User - naudotojas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=FAQ |next=END}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3172</id>
		<title>Python Vadovėlis/Derinimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Derinimas&amp;diff=3172"/>
		<updated>2021-10-03T15:40:18Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversta įžanga&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Kas yra derinimas? ===&lt;br /&gt;
:&amp;quot;Kai tik pradėjome programuoti, mūsų nuostabai, supratome, kad nėra taip lengva kurti teisingai veikiančias programas, kaip manėme iš pradžių. Derinimas turėjo būti atrastas. Atsimenu tą akimirką, kai supratau, kad didelė mano gyvenimo dalis bus skirta klaidų ieškojimui savo sukurtose programose.&amp;quot; &amp;amp;mdash; ''Maurice Wilkes atranda derinimą'', 1949&lt;br /&gt;
&lt;br /&gt;
Jei jau bandei parašyti kelias programas, turbūt pastebėjai, kad kartais programa daro ką nors, ko neturėtų daryti. Tai yra tikrai dažna situacija. Derinimas tai yra procesas, kuomet bandoma suprasti, ką kompiuteris daro ir kaip jį priversti daryti tai, ką norėtum, kad jis darytų. Tai gali būti sudėtinga. Vieną kartą aš praleidau beveik savaitę ieškodemas ir taisydamas klaidą, kurią sukėlė kitas žmogus, kode parašęs &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; vietoje &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ši dalis bus abstraktesnė, nei prieš tai buvusios dalys.&lt;br /&gt;
&lt;br /&gt;
=== What should the program do? ===&lt;br /&gt;
&lt;br /&gt;
The first thing to do (this sounds obvious) is to figure out what the&lt;br /&gt;
program should be doing if it is running correctly.  Come up with some&lt;br /&gt;
test cases and see what happens.  For example, let's say I have a&lt;br /&gt;
program to compute the perimeter of a rectangle (the sum of the length&lt;br /&gt;
of all the edges).  I have the following test cases:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!height !! width !!perimeter&lt;br /&gt;
|-&lt;br /&gt;
|3 ||4 ||14&lt;br /&gt;
|--&lt;br /&gt;
|2 ||3 ||10&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 ||16&lt;br /&gt;
|-&lt;br /&gt;
|2 ||2 ||8&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1 ||12&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
I now run my program on all of the test cases and see if the program does what &lt;br /&gt;
I expect it to do.  If it doesn't then I need to find out what the computer is&lt;br /&gt;
doing.&lt;br /&gt;
&lt;br /&gt;
More commonly some of the test cases will work and some will not.  If that is the case you should try and figure out what the working ones have in common. &lt;br /&gt;
For example here is the output for a perimeter program (you get to see the code in a minute):&lt;br /&gt;
&lt;br /&gt;
 Height: '''3'''&lt;br /&gt;
 Width: '''4'''&lt;br /&gt;
 perimeter = 15&lt;br /&gt;
&lt;br /&gt;
 Height: '''2'''&lt;br /&gt;
 Width: '''3'''&lt;br /&gt;
 perimeter = 11&lt;br /&gt;
&lt;br /&gt;
 Height: '''4'''&lt;br /&gt;
 Width: '''4'''&lt;br /&gt;
 perimeter = 16&lt;br /&gt;
&lt;br /&gt;
 Height: '''2'''&lt;br /&gt;
 Width: '''2'''&lt;br /&gt;
 perimeter = 8&lt;br /&gt;
&lt;br /&gt;
 Height: '''5'''&lt;br /&gt;
 Width: '''1'''&lt;br /&gt;
 perimeter = 8&lt;br /&gt;
&lt;br /&gt;
Notice that it didn't work for the first two inputs, it worked for the next&lt;br /&gt;
two and it didn't work on the last one.  Try and figure out what is in common &lt;br /&gt;
with the working ones.  Once you have some idea what the problem is finding the&lt;br /&gt;
cause is easier.  With your own programs you should try more test cases if you need them.&lt;br /&gt;
&lt;br /&gt;
=== What does the program do? ===&lt;br /&gt;
&lt;br /&gt;
The next thing to do is to look at the source code.  One of the most important things to do while programming is reading source code.  The primary way to do this is code walkthroughs.  &lt;br /&gt;
&lt;br /&gt;
A code walkthrough starts at the first line, and works its way down until the program is done.  &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; loops and &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; statements mean that some lines may never be run and some lines are run many times.  At each line you figure out what Python has done.&lt;br /&gt;
&lt;br /&gt;
Lets start with the simple perimeter program.  Don't type it in, you are going to read it, not run it.  The source code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
height = int(input(&amp;quot;Height: &amp;quot;))&lt;br /&gt;
width = int(input(&amp;quot;Width: &amp;quot;))&lt;br /&gt;
print(&amp;quot;perimeter =&amp;quot;, width + height + width + width)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ''Question:'' What is the first line Python runs?&lt;br /&gt;
: ''Answer:'' The first line is always run first.  In this case it is: &amp;lt;code&amp;gt;height = int(input(&amp;quot;Height: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints &amp;lt;code&amp;gt; Height: &amp;lt;/code&amp;gt;, waits for the user to type a string in, and then converts the string to an integer variable height.&lt;br /&gt;
; What is the next line that runs?&lt;br /&gt;
: In general, it is the next line down which is: &amp;lt;code&amp;gt;width = int(input(&amp;quot;Width: &amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints &amp;lt;code&amp;gt;Width: &amp;lt;/code&amp;gt;, waits for the user to type a number in, and puts what the user types in the variable width.&lt;br /&gt;
; What is the next line that runs?&lt;br /&gt;
: When the next line is not indented more or less than the current line, it is the line right afterwards, so it is: &amp;lt;code&amp;gt;print(&amp;quot;perimeter = &amp;quot;, width + height + width + width)&amp;lt;/code&amp;gt; (It may also run a function in the current line, but that's a future chapter.)                                                                       &lt;br /&gt;
; What does that line do?&lt;br /&gt;
: First it prints &amp;lt;code&amp;gt;perimeter = &amp;lt;/code&amp;gt;, then it prints the sum of the values contained within the variables, &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;, from &amp;lt;code&amp;gt;width + height + width + width&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Does &amp;lt;code&amp;gt;width + height + width + width&amp;lt;/code&amp;gt; calculate the perimeter properly?&lt;br /&gt;
: Let's see, perimeter of a rectangle is the bottom (width) plus the left side (height) plus the top (width) plus the right side (huh?). The last item should be the right side's length, or the height.&lt;br /&gt;
; Do you understand why some of the times the perimeter was calculated &amp;quot;correctly&amp;quot;?                                                                             &lt;br /&gt;
: It was calculated correctly when the width and the height were equal.&lt;br /&gt;
&lt;br /&gt;
The next program we will do a code walkthrough for is a program that is supposed to print out 5 dots on the screen.  However, this is what the program is outputting:&lt;br /&gt;
&lt;br /&gt;
 . . . . &lt;br /&gt;
&lt;br /&gt;
And here is the program:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number = 5&lt;br /&gt;
while number &amp;gt; 1:&lt;br /&gt;
    print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&lt;br /&gt;
    number = number - 1&lt;br /&gt;
print()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will be more complex to walkthrough since it now has indented portions (or control structures).  Let us begin.&lt;br /&gt;
; What is the first line to be run?&lt;br /&gt;
: The first line of the file: &amp;lt;code&amp;gt;number = 5&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Puts the number 5 in the variable number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: The next line is: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Well, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; statements in general look at their expression, and if it is true they do the next indented block of code, otherwise they skip the next indented block of code.&lt;br /&gt;
; So what does it do right now?&lt;br /&gt;
: If &amp;lt;code&amp;gt;number &amp;gt; 1&amp;lt;/code&amp;gt; is true then the next two lines will be run.&lt;br /&gt;
; So is &amp;lt;code&amp;gt;number &amp;gt; 1&amp;lt;/code&amp;gt;?&lt;br /&gt;
: The last value put into &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; was &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;5 &amp;gt; 1&amp;lt;/code&amp;gt; so yes.&lt;br /&gt;
; So what is the next line?&lt;br /&gt;
: Since the &amp;lt;code&amp;gt; while&amp;lt;/code&amp;gt; was true the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Prints one dot and since the extra argument &amp;lt;code&amp;gt;end=&amp;quot; &amp;quot;&amp;lt;/code&amp;gt; exists the next printed text will not be on a different screen line.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt; since that is following line and there are no indent changes.&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It calculates &amp;lt;code&amp;gt;number - 1&amp;lt;/code&amp;gt;, which is the current value of &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; (or 5) subtracts 1 from it, and makes that the new value of number.  So basically it changes &amp;lt;code&amp;gt; number&amp;lt;/code&amp;gt;'s value from 5 to 4.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Well, the indent level decreases so we have to look at what type of control structure it is.  It is a &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; loop, so we have to go back to the &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; clause which is &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It looks at the value of number, which is 4, and compares it to 1 and since &amp;lt;code&amp;gt;4 &amp;gt; 1&amp;lt;/code&amp;gt; the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop was true, the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It prints a second dot on the line, ending by a space.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: No indent change so it is: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; And what does it do?&lt;br /&gt;
: It takes the current value of number (4), subtracts 1 from it, which gives it 3 and then finally makes 3 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since there is an indent change caused by the end of the while loop, the next line is: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It compares the current value of number (3) to 1. &amp;lt;code&amp;gt;3 &amp;gt; 1&amp;lt;/code&amp;gt; so the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop condition was true the next line is: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; And it does what?&lt;br /&gt;
: A third dot is printed on the line.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: It is: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It takes the current value of number (3) subtracts from it 1 and makes the 2 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Back up to the start of the while loop: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It compares the current value of number (2) to 1.  Since &amp;lt;code&amp;gt;2 &amp;gt; 1&amp;lt;/code&amp;gt; the while loop continues.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop is continuing: &amp;lt;code&amp;gt;print(&amp;quot;.&amp;quot;,end=&amp;quot; &amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: It discovers the meaning of life, the universe and everything.  I'm joking. (I had to make sure you were awake.)  The line prints a fourth dot on the screen.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: It's: &amp;lt;code&amp;gt;number = number - 1&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does it do?&lt;br /&gt;
: Takes the current value of number (2) subtracts 1 and makes 1 the new value of number.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Back up to the while loop: &amp;lt;code&amp;gt;while number &amp;gt; 1:&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does the line do?&lt;br /&gt;
: It compares the current value of number (1) to 1. Since &amp;lt;code&amp;gt;1 &amp;gt; 1&amp;lt;/code&amp;gt; is false (one is not greater than one), the while loop exits.&lt;br /&gt;
; What is the next line?&lt;br /&gt;
: Since the while loop condition was false the next line is the line after the while loop exits, or: &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;&lt;br /&gt;
; What does that line do?&lt;br /&gt;
: Makes the screen go to the next line.&lt;br /&gt;
; Why doesn't the program print 5 dots?&lt;br /&gt;
: The loop exits 1 dot too soon.&lt;br /&gt;
; How can we fix that?&lt;br /&gt;
: Make the loop exit 1 dot later.&lt;br /&gt;
; And how do we do that?&lt;br /&gt;
: There are several ways.  One way would be to change the while loop to: &amp;lt;code&amp;gt;while number &amp;gt; 0:&amp;lt;/code&amp;gt;  Another way would be to change the conditional to: &amp;lt;code&amp;gt;number &amp;gt;= 1&amp;lt;/code&amp;gt;  There are a couple others.&lt;br /&gt;
&lt;br /&gt;
=== How do I fix my program? ===&lt;br /&gt;
&lt;br /&gt;
You need to figure out what the program is doing.  You need to figure out what the program should do.  Figure out what the difference between the two is.  Debugging is a skill that has to be practiced to be learned. If you can't figure it out after an hour, take a break, talk to someone about the problem or contemplate the lint in your navel.  Come back in a while and you will probably have new ideas about the problem.  Good luck.&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Decisions |next=Defining Functions}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis&amp;diff=3171</id>
		<title>Python Vadovėlis</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis&amp;diff=3171"/>
		<updated>2021-10-03T15:21:32Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tai - standartinės Python programavimo kalbos vadovėlis, išverstas iš [https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3 Non programmer's Tutorial for Python 3].&lt;br /&gt;
&lt;br /&gt;
Šis vadovėlis yra atvirojo kodo, [https://www.gnu.org/licenses/gpl-3.0.html GPL v3] licencija.&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
{{print version}}&lt;br /&gt;
{{PDF version}}&lt;br /&gt;
;[[Vadovėlis/Authors]] &lt;br /&gt;
: Contributors to this book&lt;br /&gt;
;[[Vadovėlis/Front matter]]&lt;br /&gt;
: Initial remarks&lt;br /&gt;
;[[Vadovėlis/Intro]]&lt;br /&gt;
: Installing and using Python&amp;amp;nbsp;&amp;amp;ndash; where to get help&lt;br /&gt;
;[[Vadovėlis/Hello, World]]&lt;br /&gt;
: The famous first program&amp;amp;nbsp;&amp;amp;ndash; screen output&amp;amp;nbsp;&amp;amp;ndash; variables&amp;amp;nbsp;&amp;amp;ndash; numbers and calculations&lt;br /&gt;
;[[Vadovėlis/Who Goes There?]]&lt;br /&gt;
: Interactive input&amp;amp;nbsp;&amp;amp;ndash; strings&lt;br /&gt;
;[[Vadovėlis/Count to 10]]&lt;br /&gt;
: &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; loops&lt;br /&gt;
;[[Vadovėlis/Decisions|Vadovėlis/Decisions [Monika]]]&lt;br /&gt;
:&amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; statements&lt;br /&gt;
;[[Vadovėlis/Debugging|Vadovėlis/Debugging [Monika]]]&lt;br /&gt;
:Finding out what goes wrong&lt;br /&gt;
;[[Vadovėlis/Defining Functions]]&lt;br /&gt;
: Structuring programs with the use of functions&lt;br /&gt;
;[[Vadovėlis/Advanced Functions Example]]&lt;br /&gt;
: (Almost) mind-blowing example of how programmers can think&lt;br /&gt;
;[[Vadovėlis/Lists|Vadovėlis/Lists [Artūras]]]&lt;br /&gt;
:Variables containing more than one value&lt;br /&gt;
;[[Vadovėlis/For Loops|Vadovėlis/For Loops [Artūras]]]&lt;br /&gt;
:A second kind of loop&lt;br /&gt;
;[[Vadovėlis/Boolean Expressions]]&lt;br /&gt;
:Computer logic&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;True&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;False&amp;lt;/tt&amp;gt;&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;and&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;or&amp;lt;/tt&amp;gt;&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;not&amp;lt;/tt&amp;gt;&lt;br /&gt;
;[[Vadovėlis/Dictionaries|Vadovėlis/Dictionaries [zivile]]]&lt;br /&gt;
:Variables containing key/value pairs&lt;br /&gt;
;[[Vadovėlis/Using Modules]]&lt;br /&gt;
:Extensions to the standard set of functionality&lt;br /&gt;
;[[Vadovėlis/More on Lists]]&lt;br /&gt;
:Using elements or parts of lists&lt;br /&gt;
;[[Vadovėlis/Revenge of the Strings]]&lt;br /&gt;
:More advanced text manipulations&lt;br /&gt;
;[[Vadovėlis/File IO]]&lt;br /&gt;
:Reading from files and writing to files&lt;br /&gt;
;[[Vadovėlis/Dealing with the imperfect]]&lt;br /&gt;
:How to handle errors&lt;br /&gt;
;[[Vadovėlis/Recursion]]&lt;br /&gt;
:Recursive Functions&lt;br /&gt;
;[[Vadovėlis/Intro to Object Oriented Programming in Python 3]]&lt;br /&gt;
:Basics of OOP (Object Oriented Programming)&lt;br /&gt;
;[[Vadovėlis/Intro to Imported Libraries and other Functions]]&lt;br /&gt;
:Basic functions from various libraries.&lt;br /&gt;
;[[Vadovėlis/The End]]&lt;br /&gt;
:How to go further&lt;br /&gt;
;[[Vadovėlis/FAQ]]&lt;br /&gt;
:Some frequently asked questions&lt;br /&gt;
;[[Vadovėlis/Terminai]]&lt;br /&gt;
:Terminų žodynas&lt;br /&gt;
&lt;br /&gt;
{{Alphabetical|N}}&lt;br /&gt;
{{status|100%}}&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis&amp;diff=3170</id>
		<title>Python Vadovėlis</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis&amp;diff=3170"/>
		<updated>2021-10-03T15:21:01Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tai - standartinės Python programavimo kalbos vadovėlis, išverstas iš [https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3 Non programmer's Tutorial for Python 3].&lt;br /&gt;
&lt;br /&gt;
Šis vadovėlis yra atvirojo kodo, [https://www.gnu.org/licenses/gpl-3.0.html GPL v3] licencija.&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
{{print version}}&lt;br /&gt;
{{PDF version}}&lt;br /&gt;
;[[Vadovėlis/Authors]] &lt;br /&gt;
: Contributors to this book&lt;br /&gt;
;[[Vadovėlis/Front matter]]&lt;br /&gt;
: Initial remarks&lt;br /&gt;
;[[Vadovėlis/Intro]]&lt;br /&gt;
: Installing and using Python&amp;amp;nbsp;&amp;amp;ndash; where to get help&lt;br /&gt;
;[[Vadovėlis/Hello, World]]&lt;br /&gt;
: The famous first program&amp;amp;nbsp;&amp;amp;ndash; screen output&amp;amp;nbsp;&amp;amp;ndash; variables&amp;amp;nbsp;&amp;amp;ndash; numbers and calculations&lt;br /&gt;
;[[Vadovėlis/Who Goes There?]]&lt;br /&gt;
: Interactive input&amp;amp;nbsp;&amp;amp;ndash; strings&lt;br /&gt;
;[[Vadovėlis/Count to 10]]&lt;br /&gt;
: &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; loops&lt;br /&gt;
;[[Vadovėlis/Decisions|Vadovėlis/Decisions [Monika]]]&lt;br /&gt;
:&amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; statements&lt;br /&gt;
;[[Vadovėlis/Debugging [Monika]]]&lt;br /&gt;
:Finding out what goes wrong&lt;br /&gt;
;[[Vadovėlis/Defining Functions]]&lt;br /&gt;
: Structuring programs with the use of functions&lt;br /&gt;
;[[Vadovėlis/Advanced Functions Example]]&lt;br /&gt;
: (Almost) mind-blowing example of how programmers can think&lt;br /&gt;
;[[Vadovėlis/Lists|Vadovėlis/Lists [Artūras]]]&lt;br /&gt;
:Variables containing more than one value&lt;br /&gt;
;[[Vadovėlis/For Loops|Vadovėlis/For Loops [Artūras]]]&lt;br /&gt;
:A second kind of loop&lt;br /&gt;
;[[Vadovėlis/Boolean Expressions]]&lt;br /&gt;
:Computer logic&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;True&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;False&amp;lt;/tt&amp;gt;&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;and&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;or&amp;lt;/tt&amp;gt;&amp;amp;nbsp;&amp;amp;ndash; &amp;lt;tt&amp;gt;not&amp;lt;/tt&amp;gt;&lt;br /&gt;
;[[Vadovėlis/Dictionaries|Vadovėlis/Dictionaries [zivile]]]&lt;br /&gt;
:Variables containing key/value pairs&lt;br /&gt;
;[[Vadovėlis/Using Modules]]&lt;br /&gt;
:Extensions to the standard set of functionality&lt;br /&gt;
;[[Vadovėlis/More on Lists]]&lt;br /&gt;
:Using elements or parts of lists&lt;br /&gt;
;[[Vadovėlis/Revenge of the Strings]]&lt;br /&gt;
:More advanced text manipulations&lt;br /&gt;
;[[Vadovėlis/File IO]]&lt;br /&gt;
:Reading from files and writing to files&lt;br /&gt;
;[[Vadovėlis/Dealing with the imperfect]]&lt;br /&gt;
:How to handle errors&lt;br /&gt;
;[[Vadovėlis/Recursion]]&lt;br /&gt;
:Recursive Functions&lt;br /&gt;
;[[Vadovėlis/Intro to Object Oriented Programming in Python 3]]&lt;br /&gt;
:Basics of OOP (Object Oriented Programming)&lt;br /&gt;
;[[Vadovėlis/Intro to Imported Libraries and other Functions]]&lt;br /&gt;
:Basic functions from various libraries.&lt;br /&gt;
;[[Vadovėlis/The End]]&lt;br /&gt;
:How to go further&lt;br /&gt;
;[[Vadovėlis/FAQ]]&lt;br /&gt;
:Some frequently asked questions&lt;br /&gt;
;[[Vadovėlis/Terminai]]&lt;br /&gt;
:Terminų žodynas&lt;br /&gt;
&lt;br /&gt;
{{Alphabetical|N}}&lt;br /&gt;
{{status|100%}}&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3169</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3169"/>
		<updated>2021-10-03T15:05:31Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Kaip visada, aš tikiu, kad turėčiau pradėti kiekvieną skyrių su apšilimo pratimu. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absoliučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;quot;&amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;&amp;quot;. Tada jis skaito eilutę &amp;quot;&amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;&amp;quot;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;&amp;quot;. Kitu atveju, jis vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar ''reiškinys'' &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra tiesa ar melas. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių ''bloko'', kuris vykdomas tik jei reiškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių ''blokas''. Antrasis sakinių blokas yra vykdomas tik jei reiškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Reiškinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai ''else if'' sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra melas, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra tiesa, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvedimas:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvedimas&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidžia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif skaicius % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Parašyk programą, kuri prašo naudotojo įvesti savo vardą. Jei jis įveda tavo vardą, išvesk &amp;quot;Tai puikus vardas&amp;quot;. Jei jie įveda &amp;quot;Jonas Jonaitis&amp;quot; arba &amp;quot;Petras Petraitis&amp;quot;, išvesk kokį nors juokingą tekstą. Kitu atveju, išvesk &amp;quot;Tavo vardas yra labai gražus&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
vardas = input('Tavo vardas: ')&lt;br /&gt;
if vardas == 'Lukas':&lt;br /&gt;
    print('Tai puikus vardas.')&lt;br /&gt;
elif vardas == 'Jonas Jonaitis':&lt;br /&gt;
    print('... juokingas tekstas apie Joną.')&lt;br /&gt;
elif vardas == 'Petras Petraitis':&lt;br /&gt;
    print('... juokingas tekstas apie Petrą.')&lt;br /&gt;
else:&lt;br /&gt;
    print('Tavo vardas yra labai gražus.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Pakeisk aukščiau esančią &amp;quot;daugiau_maziau.py&amp;quot; programą, kad ji papildomai skaičiuotų, kiek kartų naudotojas įvedė neteisingą skaičių. Jei taip nutiko daugiau, nei tris kartus, programos pabaigoje išvesk &amp;quot;Tai buvo sudėtinga.&amp;quot;, o kitu atveju - &amp;quot;Gerai padirbėjai!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
kiekis = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
    kiekis = kiekis + 1&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if kiekis &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;Tai buvo sudėtinga.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Gerai padirbėjai!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri prašo įvesti du skaičius. Jei skaičių suma yra didesnė nei 100, išvesk &amp;quot;Tai yra didelis skaičius&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius1 = float(input('Pirmas skaičius: '))&lt;br /&gt;
skaicius2 = float(input('Antras skaičius: '))&lt;br /&gt;
if skaicius1 + skaicius2 &amp;gt; 100:&lt;br /&gt;
    print('Skaičių suma yra didelis skaičius.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3168</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3168"/>
		<updated>2021-10-03T14:58:01Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Kaip visada, aš tikiu, kad turėčiau pradėti kiekvieną skyrių su apšilimo pratimu. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absolučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;quot;&amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;&amp;quot;. Tada jis skaito eilutę &amp;quot;&amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;&amp;quot;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;&amp;quot;. Kitu atveju, jis vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar ''reiškinys'' &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra tiesa ar melas. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių ''bloko'', kuris vykdomas tik jei reikškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių ''blokas''. Antrasis sakinių blokas yra vykdomas tik jei reikškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Reiškinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai ''else if'' sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra melas, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra tiesa, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvedimas:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvedimas&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif number % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Parašyk programą, kuri prašo naudotojo įvesti savo vardą. Jei jis įveda tavo vardą, išvesk &amp;quot;Tai puikus vardas&amp;quot;. Jei jie įveda &amp;quot;Jonas Jonaitis&amp;quot; arba &amp;quot;Petras Petraitis&amp;quot;, išvesk kokį nors juokingą tekstą. Kitu atveju, išvesk &amp;quot;Tavo vardas yra labai gražus&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
vardas = input('Tavo vardas: ')&lt;br /&gt;
if vardas == 'Lukas':&lt;br /&gt;
    print('Tai puikus vardas.')&lt;br /&gt;
elif vardas == 'Jonas Jonaitis':&lt;br /&gt;
    print('... juokingas tekstas apie Joną.')&lt;br /&gt;
elif vardas == 'Petras Petraitis':&lt;br /&gt;
    print('... juokingas tekstas apie Petrą.')&lt;br /&gt;
else:&lt;br /&gt;
    print('Tavo vardas yra labai gražus.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Pakeisk aukščiau esančią &amp;quot;daugiau_maziau.py&amp;quot; programą, kad ji papildomai skaičiuotų, kiek kartų naudotojas įvedė neteisingą skaičių. Jei taip nutiko daugiau, nei tris kartus, programos pabaigoje išvesk &amp;quot;Tai buvo sudėtinga.&amp;quot;, o kitu atveju - &amp;quot;Gerai padirbėjai!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
kiekis = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
    kiekis = kiekis + 1&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if kiekis &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;Tai buvo sudėtinga.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Gerai padirbėjai!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri prašo įvesti du skaičius. Jei skaičių suma yra didesnė nei 100, išvesk &amp;quot;Tai yra didelis skaičius&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius1 = float(input('Pirmas skaičius: '))&lt;br /&gt;
skaicius2 = float(input('Antras skaičius: '))&lt;br /&gt;
if skaicius1 + skaicius2 &amp;gt; 100:&lt;br /&gt;
    print('Skaičių suma yra didelis skaičius.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3167</id>
		<title>Python Vadovėlis/Terminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Terminai&amp;diff=3167"/>
		<updated>2021-10-03T14:54:30Z</updated>

		<summary type="html">&lt;p&gt;Monika: Pridėti keli vertimai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer - kompiuteris &lt;br /&gt;
&lt;br /&gt;
Exercise - pratimas&lt;br /&gt;
&lt;br /&gt;
Expression - reiškinys&lt;br /&gt;
&lt;br /&gt;
Feature - ypatybė&lt;br /&gt;
&lt;br /&gt;
Floating point - slankusis kablelis&lt;br /&gt;
&lt;br /&gt;
Indent - įtrauka&lt;br /&gt;
&lt;br /&gt;
Mouse - pelė&lt;br /&gt;
&lt;br /&gt;
Operator - operatorius&lt;br /&gt;
&lt;br /&gt;
Optional - pasirinktinas&lt;br /&gt;
&lt;br /&gt;
Output - išvedimas/rezultatas&lt;br /&gt;
&lt;br /&gt;
Prompt - kviesti&lt;br /&gt;
&lt;br /&gt;
Python - Python'as&lt;br /&gt;
&lt;br /&gt;
Run (daikt.) - vykdymas &lt;br /&gt;
&lt;br /&gt;
Solution - sprendimas&lt;br /&gt;
&lt;br /&gt;
Statement - sakinys&lt;br /&gt;
&lt;br /&gt;
User - naudotojas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=FAQ |next=END}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3166</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3166"/>
		<updated>2021-10-03T14:54:15Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversti pratimai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Kaip visada, aš tikiu, kad turėčiau pradėti kiekvieną skyrių su apšilimo pratimu. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absolučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;quot;&amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;&amp;quot;. Tada jis skaito eilutę &amp;quot;&amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;&amp;quot;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;&amp;quot;. Kitu atveju, jis vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar ''reiškinys'' &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra tiesa ar melas. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių ''bloko'', kuris vykdomas tik jei reikškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių ''blokas''. Antrasis sakinių blokas yra vykdomas tik jei reikškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Raikinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai ''else if'' sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra melas, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra tiesa, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvedimas:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvedimas&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif number % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
Parašyk programą, kuri prašo naudotojo įvesti savo vardą. Jei jis įveda tavo vardą, išvesk &amp;quot;Tai puikus vardas&amp;quot;. Jei jie įveda &amp;quot;Jonas Jonaitis&amp;quot; arba &amp;quot;Petras Petraitis&amp;quot;, išvesk kokį nors juokingą tekstą. Kitu atveju, išvesk &amp;quot;Tavo vardas yra labai gražus&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
vardas = input('Tavo vardas: ')&lt;br /&gt;
if vardas == 'Lukas':&lt;br /&gt;
    print('Tai puikus vardas.')&lt;br /&gt;
elif vardas == 'Jonas Jonaitis':&lt;br /&gt;
    print('... juokingas tekstas apie Joną.')&lt;br /&gt;
elif vardas == 'Petras Petraitis':&lt;br /&gt;
    print('... juokingas tekstas apie Petrą.')&lt;br /&gt;
else:&lt;br /&gt;
    print('Tavo vardas yra labai gražus.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Pakeisk aukščiau esančią &amp;quot;daugiau_maziau.py&amp;quot; programą, kad ji papildomai skaičiuotų, kiek kartų naudotojas įvedė neteisingą skaičių. Jei taip nutiko daugiau, nei tris kartus, programos pabaigoje išvesk &amp;quot;Tai buvo sudėtinga.&amp;quot;, o kitu atveju - &amp;quot;Gerai padirbėjai!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
kiekis = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
    kiekis = kiekis + 1&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if kiekis &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;Tai buvo sudėtinga.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Gerai padirbėjai!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Parašyk programą, kuri prašo įvesti du skaičius. Jei skaičių suma yra didesnė nei 100, išvesk &amp;quot;Tai yra didelis skaičius&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Sprendimas|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
skaicius1 = float(input('Pirmas skaičius: '))&lt;br /&gt;
skaicius2 = float(input('Antras skaičius: '))&lt;br /&gt;
if skaicius1 + skaicius2 &amp;gt; 100:&lt;br /&gt;
    print('Skaičių suma yra didelis skaičius.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3165</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3165"/>
		<updated>2021-10-03T14:39:44Z</updated>

		<summary type="html">&lt;p&gt;Monika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Kaip visada, aš tikiu, kad turėčiau pradėti kiekvieną skyrių su apšilimo pratimu. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absolučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;quot;&amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;&amp;quot;. Tada jis skaito eilutę &amp;quot;&amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;&amp;quot;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;&amp;quot;. Kitu atveju, jis vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar ''reiškinys'' &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra tiesa ar melas. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių ''bloko'', kuris vykdomas tik jei reikškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių ''blokas''. Antrasis sakinių blokas yra vykdomas tik jei reikškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Raikinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai ''else if'' sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra melas, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra tiesa, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvedimas:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvedimas&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif number % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Exercises ===&lt;br /&gt;
Write a program that asks the user their name, if they enter your name&lt;br /&gt;
say &amp;quot;That is a nice name&amp;quot;, if they enter &amp;quot;John Cleese&amp;quot; or &amp;quot;Michael&lt;br /&gt;
Palin&amp;quot;, tell them how you feel about them ;), otherwise tell them &amp;quot;You&lt;br /&gt;
have a nice name.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
name = input('Your name: ')&lt;br /&gt;
if name == 'Bryn':&lt;br /&gt;
    print('That is a nice name.')&lt;br /&gt;
elif name == 'John Cleese':&lt;br /&gt;
    print('... some funny text.')&lt;br /&gt;
elif name == 'Michael Palin':&lt;br /&gt;
    print('... some funny text.')&lt;br /&gt;
else:&lt;br /&gt;
    print('You have a nice name.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Modify the higher or lower program from this section to keep track of how many times the user has entered the wrong number.  If it is more than 3 times, print &amp;quot;That must have been complicated.&amp;quot; at the end, otherwise print &amp;quot;Good job!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number = 7&lt;br /&gt;
guess = -1&lt;br /&gt;
count = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Guess the number!&amp;quot;)&lt;br /&gt;
while guess != number:&lt;br /&gt;
    guess = int(input(&amp;quot;Is it... &amp;quot;))&lt;br /&gt;
    count = count + 1&lt;br /&gt;
    if guess == number:&lt;br /&gt;
        print(&amp;quot;Hooray! You guessed it right!&amp;quot;)&lt;br /&gt;
    elif guess &amp;lt; number:&lt;br /&gt;
        print(&amp;quot;It's bigger...&amp;quot;)&lt;br /&gt;
    elif guess &amp;gt; number:&lt;br /&gt;
        print(&amp;quot;It's not so big.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if count &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;That must have been complicated.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Good job!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Write a program that asks for two numbers.  If the sum of the numbers &lt;br /&gt;
is greater than 100, print &amp;quot;That is a big number.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number1 = float(input('1st number: '))&lt;br /&gt;
number2 = float(input('2nd number: '))&lt;br /&gt;
if number1 + number2 &amp;gt; 100:&lt;br /&gt;
    print('That is a big number.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
	<entry>
		<id>https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3164</id>
		<title>Python Vadovėlis/Pasirinkimai</title>
		<link rel="alternate" type="text/html" href="https://wiki.angis.net/index.php?title=Python_Vadov%C4%97lis/Pasirinkimai&amp;diff=3164"/>
		<updated>2021-10-03T14:38:55Z</updated>

		<summary type="html">&lt;p&gt;Monika: Išversti pavyzdžiai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;code&amp;gt;If&amp;lt;/code&amp;gt; sakinys ===&lt;br /&gt;
Kaip visada, aš tikiu, kad turėčiau pradėti kiekvieną skyrių su apšilimo pratimu. Taigi, žemiau turime trumpą programą, kuri apskaičiuoja absolučią sveikojo skaičiaus reikšmę:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
n = int(input(&amp;quot;Skaičius? &amp;quot;))&lt;br /&gt;
if n &amp;lt; 0:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&lt;br /&gt;
else:&lt;br /&gt;
   print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Štai rezultatas po dviejų programos vykdymų:&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''-34'''&lt;br /&gt;
 Absoliuti -34 reikšmė yra 34&lt;br /&gt;
&lt;br /&gt;
 Skaičius? '''1'''&lt;br /&gt;
 Absoliuti 1 reikšmė yra 1&lt;br /&gt;
&lt;br /&gt;
Taigi, ką kompiuteris daro, kai pamato šį kodą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu &amp;quot;&amp;lt;code&amp;gt;n = int(input(&amp;quot;Skaičius? &amp;quot;))&amp;lt;/code&amp;gt;&amp;quot;. Tada jis skaito eilutę &amp;quot;&amp;lt;code&amp;gt;if n &amp;lt; 0:&amp;lt;/code&amp;gt;&amp;quot;. Jei &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; yra mažiau už nulį, Python'as vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, -n)&amp;lt;/code&amp;gt;&amp;quot;. Kitu atveju, jis vykdo eilutę &amp;quot;&amp;lt;code&amp;gt;print(&amp;quot;Absoliuti&amp;quot;, n, &amp;quot;reikšmė yra&amp;quot;, n)&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kalbant formaliau, Python'as tikrina, ar ''reiškinys'' &amp;lt;code&amp;gt;n &amp;lt; 0&amp;lt;/code&amp;gt; yra tiesa ar melas. Sakinys &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; yra lydimas įtraukto sakinių ''bloko'', kuris vykdomas tik jei reikškinys yra tiesa. Pasirinktinai, po &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinio gali būti &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; sakinys ir dar vienas įtrauktas sakinių ''blokas''. Antrasis sakinių blokas yra vykdomas tik jei reikškinys yra melas.&lt;br /&gt;
&lt;br /&gt;
Raikinys gali turėti įvairių testų. Žemiau yra visų jų lentelė:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!operatorius &lt;br /&gt;
!funkcija&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|mažiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt; &lt;br /&gt;
|daugiau nei arba lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; &lt;br /&gt;
|lygu&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; &lt;br /&gt;
|nelygu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dar viena sakinio &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; ypatybė yra &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; sakinys. Tai ''else if'' sutrumpinimas ir reiškia, kad jei originalus &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys yra melas, bet &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; dalis yra tiesa, yra vykdoma &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; kodo dalis. Ir jei nei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, nei &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškiniai nėra tiesa, tada vykdomas &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; blokas. Pavyzdžiui:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a = 0&lt;br /&gt;
while a &amp;lt; 10:&lt;br /&gt;
    a = a + 1&lt;br /&gt;
    if a &amp;gt; 5:&lt;br /&gt;
        print(a, &amp;quot;&amp;gt;&amp;quot;, 5)&lt;br /&gt;
    elif a &amp;lt;= 3:&lt;br /&gt;
        print(a, &amp;quot;&amp;lt;=&amp;quot;, 3)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nei vienas iš testų nėra teisingas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ir išvedimas:&lt;br /&gt;
&lt;br /&gt;
 1 &amp;lt;= 3&lt;br /&gt;
 2 &amp;lt;= 3&lt;br /&gt;
 3 &amp;lt;= 3&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 Nei vienas iš testų nėra teisingas&lt;br /&gt;
 6 &amp;gt; 5&lt;br /&gt;
 7 &amp;gt; 5&lt;br /&gt;
 8 &amp;gt; 5&lt;br /&gt;
 9 &amp;gt; 5&lt;br /&gt;
 10 &amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
Gali pastebėti, kad &amp;lt;code&amp;gt;elif a &amp;lt;= 3&amp;lt;/code&amp;gt; dalis yra tikrinama tik tada, jei &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinys nėra tiesa. Galima rašyti daugiau nei vieną &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; reiškinį, tokiu būdu leidžiant vykdyti kelis testus viename &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; sakinyje.&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Ši programa parodo, kaip galima naudoti == operatorių&lt;br /&gt;
# naudojant numerius&lt;br /&gt;
print(5 == 6)&lt;br /&gt;
# naudojant kintamuosius&lt;br /&gt;
x = 5&lt;br /&gt;
y = 8&lt;br /&gt;
print(x == y)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ir išvedimas&lt;br /&gt;
&lt;br /&gt;
 False&lt;br /&gt;
 False&lt;br /&gt;
&lt;br /&gt;
'''daugiau_maziau.py'''&amp;lt;!--\label{firsthighlow}--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Žaidia spėlionių žaidimą daugiau mažiau&lt;br /&gt;
&lt;br /&gt;
# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,&lt;br /&gt;
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai&lt;br /&gt;
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,&lt;br /&gt;
# kad būtų naudojami atsitiktiniai skaičiai)&lt;br /&gt;
skaicius = 7&lt;br /&gt;
spejimas = -1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Atspėk skaičių!&amp;quot;)&lt;br /&gt;
while spejimas != skaicius:&lt;br /&gt;
    spejimas = int(input(&amp;quot;Ar tai yra... &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if spejimas == skaicius:&lt;br /&gt;
        print(&amp;quot;Valio! Atspėjai teisingai!&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;lt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra didesnis...&amp;quot;)&lt;br /&gt;
    elif spejimas &amp;gt; skaicius:&lt;br /&gt;
        print(&amp;quot;Skaičius yra ne toks didelis.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdinis vykdymas:&lt;br /&gt;
&lt;br /&gt;
 Atspėk skaičių!&lt;br /&gt;
 Ar tai yra... '''2'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''5'''&lt;br /&gt;
 Skaičius yra didesnis...&lt;br /&gt;
 Ar tai yra... '''10'''&lt;br /&gt;
 Skaičius yra ne toks didelis.&lt;br /&gt;
 Ar tai yra... '''7'''&lt;br /&gt;
 Valio! Atspėjai teisingai!&lt;br /&gt;
&lt;br /&gt;
'''lyginis.py'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių.&lt;br /&gt;
# Išveda, ar skaičius yra lyginis, ar ne&lt;br /&gt;
 &lt;br /&gt;
skaicius = float(input(&amp;quot;Pasakyk man skaičių: &amp;quot;))&lt;br /&gt;
if skaicius % 2 == 0:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra lyginis.&amp;quot;)&lt;br /&gt;
elif number % 2 == 1:&lt;br /&gt;
    print(int(skaicius), &amp;quot;yra nelyginis.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(skaicius, &amp;quot;yra labai keistas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3'''&lt;br /&gt;
 3 yra nelyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''2'''&lt;br /&gt;
 2 yra lyginis.&lt;br /&gt;
&lt;br /&gt;
 Pasakyk man skaičių: '''3.4895'''&lt;br /&gt;
 3.4895 yra labai keistas.&lt;br /&gt;
&lt;br /&gt;
'''vidurkis1.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol įvedamas 0&lt;br /&gt;
# Išveda skaičių vidurkį&lt;br /&gt;
&lt;br /&gt;
kiekis = 0&lt;br /&gt;
suma = 0.0&lt;br /&gt;
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Įvesk 0, kad sustabdytum ciklą&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
while skaicius != 0:&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    if skaicius != 0:&lt;br /&gt;
        kiekis = kiekis + 1&lt;br /&gt;
        suma = suma + skaicius &lt;br /&gt;
    if skaicius == 0:&lt;br /&gt;
        print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pavyzdiniai vykdymai:&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Įvesk 0, kad sustabdytum ciklą&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Įvesk skaičių: '''0'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
'''vidurkis2.py'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių&lt;br /&gt;
# Išveda skaičių vidurkį.&lt;br /&gt;
&lt;br /&gt;
# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek numerių&lt;br /&gt;
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam&lt;br /&gt;
# skaičiui sekti&lt;br /&gt;
suma = 0.0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&amp;quot;)&lt;br /&gt;
kiekis = int(input(&amp;quot;Kelių skaičių vidurkį norėtum suskaičiuoti: &amp;quot;))&lt;br /&gt;
esamasis_kiekis = 0&lt;br /&gt;
&lt;br /&gt;
while esamasis_kiekis &amp;lt; kiekis:&lt;br /&gt;
    esamasis_kiekis = esamasis_kiekis + 1&lt;br /&gt;
    print(&amp;quot;Skaičius&amp;quot;, esamasis_kiekis)&lt;br /&gt;
    skaicius = float(input(&amp;quot;Įvesk skaičių: &amp;quot;))&lt;br /&gt;
    suma = suma + skaicius &lt;br /&gt;
    &lt;br /&gt;
print(&amp;quot;Skaičių vidurkis yra:&amp;quot;, suma / kiekis)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sample runs:&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''2'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''5'''&lt;br /&gt;
 Skaičių vidurkis yra: 4.0&lt;br /&gt;
&lt;br /&gt;
 Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį&lt;br /&gt;
 Kelių skaičių vidurkį norėtum suskaičiuoti: '''3'''&lt;br /&gt;
 Skaičius 1&lt;br /&gt;
 Įvesk skaičių: '''1'''&lt;br /&gt;
 Skaičius 2&lt;br /&gt;
 Įvesk skaičių: '''4'''&lt;br /&gt;
 Skaičius 3&lt;br /&gt;
 Įvesk skaičių: '''3'''&lt;br /&gt;
 Skaičių vidurkis yra: 2.66666666667&lt;br /&gt;
&lt;br /&gt;
=== Exercises ===&lt;br /&gt;
Write a program that asks the user their name, if they enter your name&lt;br /&gt;
say &amp;quot;That is a nice name&amp;quot;, if they enter &amp;quot;John Cleese&amp;quot; or &amp;quot;Michael&lt;br /&gt;
Palin&amp;quot;, tell them how you feel about them ;), otherwise tell them &amp;quot;You&lt;br /&gt;
have a nice name.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
name = input('Your name: ')&lt;br /&gt;
if name == 'Bryn':&lt;br /&gt;
    print('That is a nice name.')&lt;br /&gt;
elif name == 'John Cleese':&lt;br /&gt;
    print('... some funny text.')&lt;br /&gt;
elif name == 'Michael Palin':&lt;br /&gt;
    print('... some funny text.')&lt;br /&gt;
else:&lt;br /&gt;
    print('You have a nice name.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Modify the higher or lower program from this section to keep track of how many times the user has entered the wrong number.  If it is more than 3 times, print &amp;quot;That must have been complicated.&amp;quot; at the end, otherwise print &amp;quot;Good job!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number = 7&lt;br /&gt;
guess = -1&lt;br /&gt;
count = 0&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Guess the number!&amp;quot;)&lt;br /&gt;
while guess != number:&lt;br /&gt;
    guess = int(input(&amp;quot;Is it... &amp;quot;))&lt;br /&gt;
    count = count + 1&lt;br /&gt;
    if guess == number:&lt;br /&gt;
        print(&amp;quot;Hooray! You guessed it right!&amp;quot;)&lt;br /&gt;
    elif guess &amp;lt; number:&lt;br /&gt;
        print(&amp;quot;It's bigger...&amp;quot;)&lt;br /&gt;
    elif guess &amp;gt; number:&lt;br /&gt;
        print(&amp;quot;It's not so big.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if count &amp;gt; 3:&lt;br /&gt;
    print(&amp;quot;That must have been complicated.&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Good job!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Write a program that asks for two numbers.  If the sum of the numbers &lt;br /&gt;
is greater than 100, print &amp;quot;That is a big number.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Solution|text=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
number1 = float(input('1st number: '))&lt;br /&gt;
number2 = float(input('2nd number: '))&lt;br /&gt;
if number1 + number2 &amp;gt; 100:&lt;br /&gt;
    print('That is a big number.')&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Count to 10 |next=Debugging}}&lt;/div&gt;</summary>
		<author><name>Monika</name></author>
	</entry>
</feed>