Knyga/Suskaičiuoti iki 10: Skirtumas tarp puslapio versijų

Iš Pitonas.
Nėra keitimo santraukos
Nėra keitimo santraukos
 
(nerodoma 2 tarpinės versijos, sukurtos 2 naudotojų)
1 eilutė: 1 eilutė:
{{navigation |previous=Ciklai For | next=Įdėtiniai ciklai ir sąlygos}}
{{navigation |previous=Ciklai For | next=Įdėtiniai ciklai ir sąlygos}}
=== Ką išmoksi šiame skyriuje? ===
* Kaip veikia <code>while</code> ciklas
* Kada naudoti <code>while</code> vietoj <code>for</code>
* Kaip parašyti ciklą, kuris kartojasi tol, kol tenkinama sąlyga
* Kaip veikia begaliniai ciklai (<code>while True</code>)
* Kaip <code>while</code> pritaikyti praktinėse situacijose (vidurkis, slaptažodžiai, žaidimai)
* Kaip apskaičiuoti Fibonačio seką naudojant ciklą


=== Ciklai kol (While loops) ===
=== Ciklai kol (While loops) ===
[[Vaizdas:While.png|frameless|953x953px]]
Šiame skyriuje susipažinsi su ciklu <code>while</code>(liet. kol). Kaip jau sužinojai praeitame skyriuje, kompiuteris įprastai programą pradeda skaityti ir vykdyti nuo pirmos eilutės ir taip eilutė po eilutės keliauja žemyn per visas duoto kodo eilutes. Tačiau ciklas <code>while</code> šią tvarką pakeičia ir dėl to kompiuteris priėjęs šią kodo vietą eilutes skaito iki galo, pagal šio ciklo nustatytą tvarką. Štai čia yra programos su ciklu <code>while</code> pavyzdys:
Šiame skyriuje susipažinsi su ciklu <code>while</code>(liet. kol). Kaip jau sužinojai praeitame skyriuje, kompiuteris įprastai programą pradeda skaityti ir vykdyti nuo pirmos eilutės ir taip eilutė po eilutės keliauja žemyn per visas duoto kodo eilutes. Tačiau ciklas <code>while</code> šią tvarką pakeičia ir dėl to kompiuteris priėjęs šią kodo vietą eilutes skaito iki galo, pagal šio ciklo nustatytą tvarką. Štai čia yra programos su ciklu <code>while</code> pavyzdys:




<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
a = 0            # PIRMA, nustatome pradinio kintamojo a reikšmę 0 (nulis).
a = 0            # Pirma, nustatome kintamojo a pradžią (0).
while a < 10:    # Kol kintamojo a vertė yra mažesnė nei 10, programa atlieka šiuos veiksmus:
while a < 10:    # Kol a mažesnis nei 10, šis ciklas kartosis:
     a = a + 1    # Padidina kintamojo a reikšmę 1 (vienu), visai taip kaip nurodyta: a = a + 1!
     a = a + 1    # Kiekvieno ciklo metu padidiname a vienetu
     print(a)    # Tuomet nurodome, kad spausdintų. Viskas tam, kad pamatytumėte, kokia yra dabartinė kintamojo a vertė.
     print(a)    # Ir atspausdiname dabartinę a reikšmę
                # Ir visą šitą ciklą programa vykdo tol, kol kintamojo a reikšmė bus lygi 9!? Žr. Pastabą.
 
               
# Ši programa atspausdins skaičius nuo 1 iki 10.
                # PASTABA:
# Prieš kiekvieną spausdinimą a padidėja vienetu.
                # Kintamojo a vertė padidės 1
# Kai a tampa 10, sąlyga a < 10 nebėra teisinga – ciklas sustoja.
                # su kiekvienu pakartojimu ar ciklu, kol pasieks nustatytą sąlygą ir sustos.
# Todėl paskutinis atspausdintas skaičius bus 10.
                # pvz. a = 1, tada a = 2, tada a = 3 ir t.t., kol a bus lygus 9 (a = 9), tada...
 
                # kodas baigs pridėjinėti po 1 prie a, nes taps lygus 10 (a = 10) kaip ir
                # numatyta mūsų parašytoje sąlygoje.  
                # O kai mūsų nurodyta sąlyga yra patenkinama, programa atspausdina rezultatą.
                #              --
                # While a < 10: |
                #    a = a + 1 |<--[ Ciklo Kol sąlygos blokas ]
                #    print (a) |
                #              --
</syntaxhighlight>
</syntaxhighlight>


78 eilutė: 81 eilutė:
Ar pastebėjai, kad šiuo atveju <code>a</code> yra skaičius su reikšme po kablelio ir ne visi tokie skaičiai gali būti tiksliai atvaizduoti, kai naudojamas <code>!=</code>. Pabandyk paleidęs programą įvesti 1.1
Ar pastebėjai, kad šiuo atveju <code>a</code> yra skaičius su reikšme po kablelio ir ne visi tokie skaičiai gali būti tiksliai atvaizduoti, kai naudojamas <code>!=</code>. Pabandyk paleidęs programą įvesti 1.1


==== Begaliniai ciklai (infinitive loops) arba niekada nesibaigaintys ciklai (Never Ending Loop)====
==== Begaliniai ciklai (infinite loops) arba niekada nesibaigiantys ciklai (Never Ending Loop) ====
Dabar, kai jau išsiaiškinome, kas yra ciklas <code>while</code>, pasižiūrėkime kaip atrodo niekada nesibaigiantys ciklai, kaip kad ir šis:
 
[[Vaizdas:While2.png|frameless|953x953px]]
 
Dabar, kai jau išsiaiškinome, kas yra ciklas <code>while</code>, pasižiūrėkime, kaip atrodo niekada nesibaigiantis ciklas:
 
<syntaxhighlight lang="python">
while True:
    print("Padėk! Užstrigau cikle!")
</syntaxhighlight>
 
Ši programa be sustojimo spausdins tą pačią žinutę. Kodėl? Nes sąlyga <code>True</code> visada yra teisinga – tai reiškia, kad ciklas '''niekada netampa klaidingas''', todėl niekada nesibaigia.
 
Toks ciklas vadinamas '''begaliniu ciklu'''. Kartais jis naudojamas specialiai, kai nežinai, kiek kartų reikės kartoti, o sustabdymui naudojamas <code>break</code> sakinys.
 
Šiuo atveju ciklas niekada nesustoja, todėl norėdamas jį nutraukti, turi pats paspausti klavišų kombinaciją <kbd>Ctrl</kbd> + <kbd>C</kbd>.
 
> 💡 Įdomus faktas: <code>True</code> programavime yra loginė reikšmė, reiškianti „teisinga“. Ji dažnai lygi 1. Atitinkamai, <code>False</code> – tai „klaidinga“ (dažnai lygi 0).
 
=== Kaip sustabdyti begalinį ciklą naudojant <code>break</code>? ===
 
Begaliniai ciklai naudingi tada, kai nežinai, kiek kartų reikės kartoti veiksmą. Tokiu atveju ciklą gali sustabdyti viduje parašydamas <code>break</code>, kai tenkinama kokia nors sąlyga.
 
Štai pavyzdys:
 
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
while True:
while True:
  print("Padėk! Užstrigau cikle!")
    tekstas = input("Įveskite žodį (arba 'pabaiga' sustabdyti): ")
    if tekstas == "pabaiga":
        print("Programa baigta.")
        break
    print("Įvedei:", tekstas)
</syntaxhighlight>
</syntaxhighlight>
Operatorius <code>==</code> naudojamas abiejų operatoriaus pusių išraiškų lygybei patikrinti, kaip ir <code> < </code> buvo naudojami norint pasakyt „mažiau nei“ (kitame skyriuje rasi išsamų visų palyginimo operatorių sąrašą).


Ši mūsų sukurta programa spausdins <code>Padėk! Užstrigau cikle!</code> visą amžinybę... Tol, kol pats ją sustabdysi, todėl kad ji visą laiką yra <code>True</code> (visada atitinka teigiamą reikšmę) ir niekada nesikeičia (''True'', lietuviškai ''teisinga'' arba ''tiesa'', paprastai programavime dar rašomas kaip 1). Kaip programą sustabdyti? Paprasčiausiai paspausk ctrl + c mygtukus.
Ši programa leis vartotojui įvesti bet kokį žodį, kol jis įves žodį <code>pabaiga</code>. Tada bus įvykdyta sąlyga <code>if</code>, ir <code>break</code> sustabdys ciklą.
 
---
 
> 💡 <code>break</code> dažnai naudojamas ciklų valdymui: sustabdyti, kai randi atsakymą, kai įvesta teisinga reikšmė, kai įvykdyta sąlyga ir pan.
 


=== Pavyzdžiai ===
=== Pavyzdžiai ===

Dabartinė 15:57, 5 rugpjūčio 2025 versija


Ką išmoksi šiame skyriuje?

  • Kaip veikia while ciklas
  • Kada naudoti while vietoj for
  • Kaip parašyti ciklą, kuris kartojasi tol, kol tenkinama sąlyga
  • Kaip veikia begaliniai ciklai (while True)
  • Kaip while pritaikyti praktinėse situacijose (vidurkis, slaptažodžiai, žaidimai)
  • Kaip apskaičiuoti Fibonačio seką naudojant ciklą

Ciklai kol (While loops)

Šiame skyriuje susipažinsi su ciklu while(liet. kol). Kaip jau sužinojai praeitame skyriuje, kompiuteris įprastai programą pradeda skaityti ir vykdyti nuo pirmos eilutės ir taip eilutė po eilutės keliauja žemyn per visas duoto kodo eilutes. Tačiau ciklas while šią tvarką pakeičia ir dėl to kompiuteris priėjęs šią kodo vietą eilutes skaito iki galo, pagal šio ciklo nustatytą tvarką. Štai čia yra programos su ciklu while pavyzdys:


a = 0            # Pirma, nustatome kintamojo a pradžią (0).
while a < 10:    # Kol a mažesnis nei 10, šis ciklas kartosis:
    a = a + 1    # Kiekvieno ciklo metu padidiname a vienetu
    print(a)     # Ir atspausdiname dabartinę a reikšmę

# Ši programa atspausdins skaičius nuo 1 iki 10.
# Prieš kiekvieną spausdinimą a padidėja vienetu.
# Kai a tampa 10, sąlyga a < 10 nebėra teisinga – ciklas sustoja.
# Todėl paskutinis atspausdintas skaičius bus 10.

Na, o jeigu paleidžiame programą, tai turime štai tokį įdomų rezultatą:

1
2
3
4
5
6
7
8
9
10

(Tikriausiai iki šios pamokos net nesusimąstei, kad kompiuterį gali paversti pigiu skaičiuotuvu...)

Na, o dabar pasiaiškinkime kaip veikia ši programa. Pirmiausia kompiuteris mato eilutę a = 0 ir nustato a reikšmę lygią nuliui. Tada programa mato sąlygą while a < 10:, todėl kompiuteris patikrina, ar a < 10. Kompiuteriui pirmą kartą matant šį teiginį, a yra lygus 0, ir akivaizdu, kad turima reikšmė yra mažesnė nei 10. Kitaip tariant, kol a yra mažesnis skaičius nei dešimt, tol kompiuteris tikrins teiginį ir kartos jį (t.y. pridėjinės po 1). Ciklas baigsis, kai a bus lygus dešimčiai. Kadangi šiame kode daugiau nieko nėra, tai programa sustoja.

ĮSIDĖMĖK: Nepamiršk parašyti dvitaškio : eilutės pabaigoje, tik taip kompiuteris supras, kad čia yra komanda!

Kitas ciklo while pavyzdys:

a = 1
s = 0
print("Įvesk skaičius, kuriuos nori pridėti prie sumos")
print("Norint išeiti, įvesk 0.")
while a != 0:                           
    print("Dabartinė suma:", s)            
    a = float(input("Skaičius? "))        
    s = s + a                            
print("Galutinė suma =", s)

Galimas programos scenarijus:

Įvesk skaičius, kuriuos nori pridėti prie sumos.
Norint išeiti, įveskite 0.
Dabartinė suma: 0
Skaičius? 200
Dabartinė suma: 200.0
Skaičius? -15.25
Dabartinė suma: 184.75
Skaičius? -151.85
Dabartinė suma: 32.9
Skaičius? 10.00
Dabartinė suma: 42.9
Skaičius? 0
Galutinė suma = 42.9

Atkreipk dėmesį, kad print('Galutinė suma =', s) yra įvykdoma tik pačioje pabaigoje, kai jau ciklas būna nutrauktas. Komanda while veikia tik tas eilutes, kurios yra atitrauktos nuo krašto ir priklauso ciklo while blokui. != reiškia nelygu, taigi while a != 0: reiškia tol, kol a nėra nulis, programa vykdo kodą.

Ar pastebėjai, kad šiuo atveju a yra skaičius su reikšme po kablelio ir ne visi tokie skaičiai gali būti tiksliai atvaizduoti, kai naudojamas !=. Pabandyk paleidęs programą įvesti 1.1

Begaliniai ciklai (infinite loops) arba niekada nesibaigiantys ciklai (Never Ending Loop)

Dabar, kai jau išsiaiškinome, kas yra ciklas while, pasižiūrėkime, kaip atrodo niekada nesibaigiantis ciklas:

while True:
    print("Padėk! Užstrigau cikle!")

Ši programa be sustojimo spausdins tą pačią žinutę. Kodėl? Nes sąlyga True visada yra teisinga – tai reiškia, kad ciklas niekada netampa klaidingas, todėl niekada nesibaigia.

Toks ciklas vadinamas begaliniu ciklu. Kartais jis naudojamas specialiai, kai nežinai, kiek kartų reikės kartoti, o sustabdymui naudojamas break sakinys.

Šiuo atveju ciklas niekada nesustoja, todėl norėdamas jį nutraukti, turi pats paspausti klavišų kombinaciją Ctrl + C.

> 💡 Įdomus faktas: True programavime yra loginė reikšmė, reiškianti „teisinga“. Ji dažnai lygi 1. Atitinkamai, False – tai „klaidinga“ (dažnai lygi 0).

Kaip sustabdyti begalinį ciklą naudojant break?

Begaliniai ciklai naudingi tada, kai nežinai, kiek kartų reikės kartoti veiksmą. Tokiu atveju ciklą gali sustabdyti viduje parašydamas break, kai tenkinama kokia nors sąlyga.

Štai pavyzdys:

while True:
    tekstas = input("Įveskite žodį (arba 'pabaiga' sustabdyti): ")
    if tekstas == "pabaiga":
        print("Programa baigta.")
        break
    print("Įvedei:", tekstas)

Ši programa leis vartotojui įvesti bet kokį žodį, kol jis įves žodį pabaiga. Tada bus įvykdyta sąlyga if, ir break sustabdys ciklą.

---

> 💡 break dažnai naudojamas ciklų valdymui: sustabdyti, kai randi atsakymą, kai įvesta teisinga reikšmė, kai įvykdyta sąlyga ir pan.


Pavyzdžiai

Fibonačio skaičių seka

Fibonačio skaičių seka – sveikųjų skaičių seka. Seka prasideda šiais skaičiais: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233. Kiekvienas šios sekos skaičius lygus dviejų prieš jį einančių skaičių sumai. Toliau parodysiu, kaip gali atvaizduoti pirmus dvidešimt Fibonačio skaičius 3 skirtingais būdais.

Fibonacci-metodas1.py

# Ši programa skaičiuoja Fibonačio seką
MAKSIMALUS_SKAIČIUS = 20
a = 0
b = 1
pradinis_skaičius = 0

while pradinis_skaičius < MAKSIMALUS_SKAIČIUS:
    pradinis_skaičius = pradinis_skaičius + 1
    print(a, end = " ")  # Atkreipkite dėmesį į end = " " spausdinimo funkcijos argumentuose  
                       # būtent tai neleidžia sukurti naujos eilutės.
    senas_a = a    # turime sekti, nes mes jį keičiame.
    a = b
    b = senas_a + b
print()  # gauna naują (tuščią) eilutę.

Išvestis :

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Įsidėmėk, kad išvestis yra vienoje eilutėje dėl papildomų argumentų end = " " funkcijos print argumentuose.

Fibonacci-metodas2.py

# Supaprastintas ir greitesnis Fibonačio sekos apskaičiavimo metodas
MAKSIMALUS_SKAIČIUS = 10
a = 0
b = 1
pradinis_skaičius = 0

while pradinis_skaičius < MAKSIMALUS_SKAIČIUS:
    pradinis_skaičius = pradinis_skaičius + 1
    print(a, b, end=" ")  # Įsidėmėk end=" "
    a = a + b    
    b = a + b
print()  # gauna naują (tuščią) eilutę.

Išvestis:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Fibonacci-metodas3.py

MAKSIMALUS_SKAIČIUS = 20
a = 0
b = 1
pradinis_skaičius = 0

#kai ciklas prasideda, mes jame pasiliekame
while pradinis_skaičius < MAKSIMALUS_SKAIČIUS:
    pradinis_skaičius += 1
    senas_a = a
    a = a + b
    b = senas_a
    print(senas_a,end=" ")
print()

Išvestis:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

daugiau_maziau.py


# Spėlionių žaidimas daugiau mažiau

# Iš tiesų, čia turėtų būti naudojami pusiau atsitiktiniai skaičiai,
# pavyzdžiui paskutinis laiko skaitmuo, ar kažkas panašaus. Bet tai
# palauks iki vėlesnės dalies. (Papildoma užduotis: po Modulių dalies, pakeisk šį kodą,
# kad būtų naudojami atsitiktiniai skaičiai)
SKAICIUS = 7
spejimas = -1

print("Atspėk skaičių!")
while spejimas != SKAICIUS:
    spejimas = int(input("Ar tai yra... "))

    if spejimas == SKAICIUS:
        print("Valio! Atspėjai teisingai!")
    elif spejimas < SKAICIUS:
        print("Skaičius yra didesnis...")
    elif spejimas > SKAICIUS:
        print("Skaičius yra ne toks didelis.")

Pavyzdinis vykdymas:

Atspėk skaičių!
Ar tai yra... 2
Skaičius yra didesnis...
Ar tai yra... 5
Skaičius yra didesnis...
Ar tai yra... 10
Skaičius yra ne toks didelis.
Ar tai yra... 7
Valio! Atspėjai teisingai!

vidurkis1.py

# Prašo įvesti skaičių iki tol, kol įvedamas 0
# Išveda visų įvestų skaičių vidurkį

kiekis = 0
suma = 0.0
skaicius = 1 # nurodomas tam, kad nebūtų iškart išeinama iš ciklo.

print("Įvesk 0, kad sustabdytum ciklą")

while skaicius != 0:
    skaicius = float(input("Įvesk skaičių: "))
    if skaicius != 0:
        kiekis = kiekis + 1
        suma = suma + skaicius 
    if skaicius == 0:
        print("Skaičių vidurkis yra:", suma / kiekis)

Pavyzdiniai vykdymai:

Įvesk 0, kad sustabdytum ciklą
Įvesk skaičių: 3
Įvesk skaičių: 5
Įvesk skaičių: 0
Skaičių vidurkis yra: 4.0
Įvesk 0, kad sustabdytum ciklą
Įvesk skaičių: 1
Įvesk skaičių: 4
Įvesk skaičių: 3
Įvesk skaičių: 0
Skaičių vidurkis yra: 2.66666666667

vidurkis2.py

# Prašo įvesti skaičių iki tol, kol bus įvestas tam tikras kiekis skaičių
# Išveda visų įvestų skaičių vidurkį.

# Gali pastebėti, kad naudojame sveikąjį skaičių sekti, kiek skaičių
# buvo įvesta, bet slankiojo kablelio skaičių, kiekvienam įvestam
# skaičiui įsiminti
suma = 0.0

print("Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį")
kiekis = int(input("Kelių skaičių vidurkį norėtum suskaičiuoti: "))
esamasis_kiekis = 0

while esamasis_kiekis < kiekis:
    esamasis_kiekis = esamasis_kiekis + 1
    print("Skaičius", esamasis_kiekis)
    skaicius = float(input("Įvesk skaičių: "))
    suma = suma + skaicius 
    
print("Skaičių vidurkis yra:", suma / kiekis)

Pavyzdiniai vykdymai:

Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį
Kelių skaičių vidurkį norėtum suskaičiuoti: 2
Skaičius 1
Įvesk skaičių: 3
Skaičius 2
Įvesk skaičių: 5
Skaičių vidurkis yra: 4.0
Ši programa paprašys įvesti kelis skaičius ir suskaičiuos jų vidurkį
Kelių skaičių vidurkį norėtum suskaičiuoti: 3
Skaičius 1
Įvesk skaičių: 1
Skaičius 2
Įvesk skaičių: 4
Skaičius 3
Įvesk skaičių: 3
Skaičių vidurkis yra: 2.66666666667

Įvesk slaptažodį

Slaptaždis.py

# Laukia, kol bus įvestas slaptažodis. Naudok „ctrl+ C“, kad sustabdytum programą
# be slaptažodžio

#atkreipk dėmesį, kad tai neturi būti slaptažodis, kad
# ciklas while turi prasisukti bent kartą.
slaptažodis= str()

# įsidėmėk != reiškia nelygu
while slaptažodis!= "Angis":
    slaptažodis = input("Slaptažodis: ")
print("Prisijungimas sėkmingas")

Kaip programa veikia:

Slaptažodis: auo
Slaptažodis: y22
Slaptažodis: slaptažodis
Slaptažodis: Sezamai atsiverk
Slaptažodis: Angis
Prisijungimas sėkmingas

Pratimai

1. Parašyk programą, kuri prašo vartotojo įvesti skaičius tol, kol jis įveda 0. Tada programa turi išvesti skaičių vidurkį. Gali remtis skyriuje aptartu skaičių sumos pavyzdžiu.

Sprendimas  
skaičius = -1
skaičių_suma = 0
viso_skaičių = 0

while skaičius != 0:
    skaičius = int(input("Įveskite skaičių: "))
    if skaičius != 0:
		skaičių_suma = skaičių_suma + skaičius
		viso_skaičių = viso_skaičių + 1

print("Skaičių vidurkis:", skaičių_suma / viso_skaičių)


2. Parašyk programą, kuri prašo vartotojo įvesti skaičių ir išveda to skaičiaus, pakelto kubu, reikšmę. Programa turėtų veiksmą kartoti tol, kol vartotojas įveda 0.

Sprendimas  
skaičius = 1

while skaičius != 0:
    skaičius = int(input("Įvesk skaičių: "))
    if skaičius != 0:
        skaičius_kubu = skaičius * skaičius * skaičius
        print(skaičius, " pakelta kubu yra ", skaičius_kubu)


3. Parašyk programą, kuri prašo vartotojo įvesti penkis skaičius ir išveda jų sandaugą.

Sprendimas  
sandauga = 1
skaičių_kiekis = 0

while skaičių_kiekis < 5:
    naujas_skaičius = int(input("Įvesk skaičių: "))
    sandauga = sandauga * naujas_skaičius
    skaičių_kiekis = skaičių_kiekis + 1

print("Įvestų skaičių sandauga: ", sandauga)


4. Parašyk programą, kuri prašo vartotojo įvesti skaičių ir išveda to skaičiaus daugybos lentelę nuo 1 iki 10. Pavyzdžiui, jei įvestas skaičius yra 11, išvestis turėtų būti:

11 x 1 = 11

11 x 2 = 22

11 x 3 = 33

11 x 4 = 44

11 x 5 = 55

11 x 6 = 66

11 x 7 = 77

11 x 8 = 88

11 x 9 = 99

11 x 10 = 110

Sprendimas  
skaičius = int(input("Įvesk skaičių: "))
indeksas = 1

while indeksas <= 10:
    print(skaičius, " * ", indeksas, " = ", skaičius * indeksas)
    indeksas = indeksas + 1

5. 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!“

Sprendimas  
skaicius = 7
spejimas = -1
kiekis = 0

print("Atspėk skaičių!")
while spejimas != skaicius:
    spejimas = int(input("Ar tai yra... "))
    kiekis = kiekis + 1
    if spejimas == skaicius:
        print("Valio! Atspėjai teisingai!")
    elif spejimas < skaicius:
        print("Skaičius yra didesnis...")
    elif spejimas > skaicius:
        print("Skaičius yra ne toks didelis.")

if kiekis > 3:
    print("Tai buvo sudėtinga.")
else:
    print("Gerai padirbėjai!")