Knyga/Pasirinkimai: Skirtumas tarp puslapio versijų
Nėra keitimo santraukos |
Nėra keitimo santraukos |
||
| (nerodoma 6 tarpinės versijos, sukurtos 2 naudotojų) | |||
| 1 eilutė: | 1 eilutė: | ||
{{navigation |previous=Kas čia eina? |next= | {{navigation |previous=Kas čia eina? |next=Loginiai reiškiniai}} | ||
[[Vaizdas:Ifelse.png|frameless|833x833px]] | [[Vaizdas:Ifelse.png|frameless|833x833px]] | ||
=== Ką išmoksi šiame skyriuje? === | |||
* Naudoti sąlyginius sakinius <code>if</code>, <code>else</code> ir <code>elif</code> | |||
* Tikrinti reikšmes su palyginimo operatoriais: <code><</code>, <code>></code>, <code>==</code>, <code>!=</code>, <code><=</code>, <code>>=</code> | |||
* Suprasti, kaip sąlygos leidžia programai priimti sprendimus | |||
* Kurti kelių šakų sprendimų logiką | |||
* Atpažinti <code>int</code> ir <code>float</code> skirtumus lyginant | |||
* Kurti paprastas programas su sąlygomis ir įvestimi | |||
=== <code>If</code> sakinys === | === <code>If</code> sakinys === | ||
| 22 eilutė: | 29 eilutė: | ||
Absoliuti 1 reikšmė yra 1 | Absoliuti 1 reikšmė yra 1 | ||
Taigi, ką kompiuteris daro, kai pamato šį kodą? | Taigi, ką kompiuteris daro, kai pamato šį kodą? Pirmiausia kompiuteris paprašo įvesti skaičių naudodamas komandą <code>n = int(input("Skaičius? "))</code>. Tada jis skaito eilutę <code>if n < 0:</code>. Jei <code>n</code> yra mažiau už nulį, Python'as vykdo eilutę <code>print("Absoliuti", n, "reikšmė yra", -n)</code>. Kitu atveju, jis vykdo eilutę <code>print("Absoliuti", n, "reikšmė yra", n)</code>. | ||
Kalbant formaliau, Python'as tikrina, ar „reiškinio“ <code>n < 0</code> reikšmė yra teisinga (angl. true) ar klaidinga (angl. false). Sakinys <code>if</code> yra lydimas įtraukto sakinių „bloko“, kuris vykdomas tik jei reiškinio reikšmė yra teisinga. Pasirinktinai, po <code>if</code> sakinio gali būti <code>else</code> sakinys ir dar vienas įtrauktas sakinių „blokas“. Antrasis sakinių blokas yra vykdomas tik jei reiškinio reikšmė yra klaidinga. | Kalbant formaliau, Python'as tikrina, ar „reiškinio“ <code>n < 0</code> reikšmė yra teisinga (angl. true) ar klaidinga (angl. false). Sakinys <code>if</code> yra lydimas įtraukto sakinių „bloko“, kuris vykdomas tik jei reiškinio reikšmė yra teisinga. Pasirinktinai, po <code>if</code> sakinio gali būti <code>else</code> sakinys ir dar vienas įtrauktas sakinių „blokas“. Antrasis sakinių blokas yra vykdomas tik jei reiškinio reikšmė yra klaidinga. | ||
| 69 eilutė: | 76 eilutė: | ||
ir išvestys: | ir išvestys: | ||
Įvesk temperatūrą: 12 | |||
Vėsu. | |||
Gali pastebėti, kad <code>elif | Įvesk temperatūrą: -2 | ||
Šalta! | |||
Įvesk temperatūrą: 21 | |||
Maloni temperatūra. | |||
Įvesk temperatūrą: 35 | |||
Karšta diena! | |||
Gali pastebėti, kad <code>elif temperatura > 20</code> dalis yra tikrinama tik tada, jei <code>if</code> reiškinio reikšmė nėra tiesa. Galima rašyti daugiau nei vieną <code>elif</code> reiškinį, tokiu būdu leidžiant tikrinti kelias sąlygas viename <code>if</code> sakinyje. | |||
=== Pavyzdžiai === | === Pavyzdžiai === | ||
| 104 eilutė: | 112 eilutė: | ||
# Prašo įvesti skaičių. | # Prašo įvesti skaičių. | ||
# Išveda, ar skaičius yra lyginis, ar ne | # Išveda, ar skaičius yra lyginis, ar ne | ||
# Ši programa veikia gerai su sveikaisiais skaičiais. | |||
# Jei įvesi trupmeninį skaičių, gali gauti trečią atsakymą – jis skirtas viskam, kas nesutampa. | |||
skaicius = float(input("Pasakyk man skaičių: ")) | skaicius = float(input("Pasakyk man skaičių: ")) | ||
| 242 eilutė: | 252 eilutė: | ||
|} | |} | ||
{{navigation |previous=Kas čia eina? |next= | {{navigation |previous=Kas čia eina? |next=Loginiai reiškiniai}} | ||
[[Category:Python Vadovėlis]] | [[Category:Python Vadovėlis]] | ||
Dabartinė 15:27, 5 rugpjūčio 2025 versija
Ką išmoksi šiame skyriuje?
- Naudoti sąlyginius sakinius
if,elseirelif - Tikrinti reikšmes su palyginimo operatoriais:
<,>,==,!=,<=,>= - Suprasti, kaip sąlygos leidžia programai priimti sprendimus
- Kurti kelių šakų sprendimų logiką
- Atpažinti
intirfloatskirtumus lyginant - Kurti paprastas programas su sąlygomis ir įvestimi
If sakinys
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ę:
n = int(input("Skaičius? "))
if n < 0:
print("Absoliuti", n, "reikšmė yra", -n)
else:
print("Absoliuti", n, "reikšmė yra", n)
Štai rezultatas po dviejų programos vykdymų:
Skaičius? -34 Absoliuti -34 reikšmė yra 34
Skaičius? 1 Absoliuti 1 reikšmė yra 1
Taigi, ką kompiuteris daro, kai pamato šį kodą? Pirmiausia kompiuteris paprašo įvesti skaičių naudodamas komandą n = int(input("Skaičius? ")). Tada jis skaito eilutę if n < 0:. Jei n yra mažiau už nulį, Python'as vykdo eilutę print("Absoliuti", n, "reikšmė yra", -n). Kitu atveju, jis vykdo eilutę print("Absoliuti", n, "reikšmė yra", n).
Kalbant formaliau, Python'as tikrina, ar „reiškinio“ n < 0 reikšmė yra teisinga (angl. true) ar klaidinga (angl. false). Sakinys if yra lydimas įtraukto sakinių „bloko“, kuris vykdomas tik jei reiškinio reikšmė yra teisinga. Pasirinktinai, po if sakinio gali būti else sakinys ir dar vienas įtrauktas sakinių „blokas“. Antrasis sakinių blokas yra vykdomas tik jei reiškinio reikšmė yra klaidinga.
Reiškinys gali turėti įvairių sąlygų. Žemiau yra visų jų lentelė:
| Operatorius | Funkcija |
|---|---|
<
|
mažiau nei |
<=
|
mažiau nei arba lygu |
>
|
daugiau nei |
>=
|
daugiau nei arba lygu |
==
|
lygu |
!=
|
nelygu |
Dar viena sakinio if ypatybė yra elif dalis. Tai else if sutrumpinimas ir reiškia, kad jei originali if sakinio reikšmė yra klaidinga, bet elif dalis yra teisinga, yra vykdoma elif kodo dalis. Ir jei nei if, nei elif reiškiniai nėra tiesa, tada vykdomas else blokas. Pavyzdžiui:
# Paprasta programa, nustatanti temperatūros lygį
temperatura = int(input("Įvesk temperatūrą: "))
if temperatura > 30:
print("Karšta diena!")
elif temperatura > 20:
print("Maloni temperatūra.")
elif temperatura > 10:
print("Vėsu.")
else:
print("Šalta!")
ir išvestys:
Įvesk temperatūrą: 12 Vėsu.
Įvesk temperatūrą: -2 Šalta!
Įvesk temperatūrą: 21 Maloni temperatūra.
Įvesk temperatūrą: 35 Karšta diena!
Gali pastebėti, kad elif temperatura > 20 dalis yra tikrinama tik tada, jei if reiškinio reikšmė nėra tiesa. Galima rašyti daugiau nei vieną elif reiškinį, tokiu būdu leidžiant tikrinti kelias sąlygas viename if sakinyje.
Pavyzdžiai
lygybė.py
# Ši programa parodo, kaip galima naudoti == operatorių # naudojant skaičius print(5 == 6) # naudojant kintamuosius x = 5 y = 8 print(x == y)
Ir išvestis - dvi klaidingos (angl. false) reikšmės
False False
lyginis.py
# Prašo įvesti skaičių.
# Išveda, ar skaičius yra lyginis, ar ne
# Ši programa veikia gerai su sveikaisiais skaičiais.
# Jei įvesi trupmeninį skaičių, gali gauti trečią atsakymą – jis skirtas viskam, kas nesutampa.
skaicius = float(input("Pasakyk man skaičių: "))
if skaicius % 2 == 0:
print(int(skaicius), "yra lyginis.")
elif skaicius % 2 == 1:
print(int(skaicius), "yra nelyginis.")
else:
print(skaicius, "yra labai keistas.")
Pavyzdiniai vykdymai:
Pasakyk man skaičių: 3 3 yra nelyginis.
Pasakyk man skaičių: 2 2 yra lyginis.
Pasakyk man skaičių: 3.4895 3.4895 yra labai keistas.
Pratimai
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“.
| Sprendimas | |
|---|---|
vardas = input("Tavo vardas: ")
if vardas == 'Lukas':
print("Tai puikus vardas.")
elif vardas == 'Jonas Jonaitis':
print("... juokingas tekstas apie Joną.")
elif vardas == 'Petras Petraitis':
print("... juokingas tekstas apie Petrą.")
else:
print("Tavo vardas yra labai gražus.")
| |
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“.
| Sprendimas | |
|---|---|
skaicius1 = float(input("Pirmas skaičius: "))
skaicius2 = float(input("Antras skaičius: "))
if skaicius1 + skaicius2 > 100:
print("Skaičių suma yra didelis skaičius.")
| |
Parašyk programą, kuri pateiktų testą iš 5 klausimų tavo pasirinkta tema (sportas, astronomija, muzika ar pan.). Programa turi skaičiuoti ir pabaigoje parodyti teisingų atsakymų skaičių.
| Sprendimas | |
|---|---|
teisingi_atsakymai = 0
print("Kas sukūrė Python programavimo kalbą?")
print("1) Dennis Ritchie")
print("2) Guido van Rossum")
print("3) Linus Torvalds")
print("4) James Gosling")
atsakymas = input("Įveskite teisingą atsakymo numerį: ")
if atsakymas == "2":
teisingi_atsakymai = teisingi_atsakymai + 1
print("Teisingai!")
else:
print("Neteisingai. Teisingas atsakymas: 2")
#Atspausdiname tuščią eilutę, kad aiškaiu atskirti klausimus
print()
print("Koks didžiausias pitonas pasaulyje?")
print("1) Karališkasis pitonas")
print("2) Tinklinis pitonas")
print("3) Indijos pitonas")
print("4) Anakonda")
atsakymas = input("Įveskite teisingą atsakymo numerį: ")
if atsakymas == "2":
teisingi_atsakymai = teisingi_atsakymai + 1
print("Teisingai!")
else:
print("Neteisingai. Teisingas atsakymas: 2")
print()
print("Kuriose šalyse galima rasti pitonų gamtoje?")
print("1) Kanada ir Norvegija")
print("2) Australija ir Indonezija")
print("3) Prancūzija ir Vokietija")
print("4) Rusija ir Suomija")
atsakymas = input("Įveskite teisingą atsakymo numerį: ")
if atsakymas == "2":
teisingi_atsakymai = teisingi_atsakymai + 1
print("Teisingai!")
else:
print("Neteisingai. Teisingas atsakymas: 2")
print()
print("Kiek ilgai pitonas gali būti be maisto?")
print("1) Keletą valandų")
print("2) Keletą dienų")
print("3) Keletą mėnesių")
print("4) Keletą metų")
atsakymas = input("Įveskite teisingą atsakymo numerį: ")
if atsakymas == "3":
teisingi_atsakymai = teisingi_atsakymai + 1
print("Teisingai!")
else:
print("Neteisingai. Teisingas atsakymas: 3")
print()
print("Kaip pitonai medžioja savo grobį?")
print("1) Paralyžiuoja nuodais")
print("2) Smaugia")
print("3) Uždengia voratinkliu")
print("4) Migdina garsais")
atsakymas = input("Įveskite teisingą atsakymo numerį: ")
if atsakymas == "2":
teisingi_atsakymai = teisingi_atsakymai + 1
print("Teisingai!")
else:
print("Neteisingai. Teisingas atsakymas: 2")
print("Jūs atsakėte teisingai į", teisingi_atsakymai, "iš 5 klausimų.")
| |