Knyga/Pasirinkimai: Skirtumas tarp puslapio versijų

Iš Pitonas.
Nėra keitimo santraukos
Nėra keitimo santraukos
70 eilutė: 70 eilutė:


  1 <= 3
  1 <= 3
Įvesk temperatūrą: 12
Įvesk temperatūrą: 12
Šalta!
Šalta!
  2 <= 3
  2 <= 3
  3 <= 3
  3 <= 3

13:41, 7 vasario 2025 versija



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ą? Visų pirma, jis kviečia įvesti skaičių su šiuo sakiniu 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:

1 <= 3
Įvesk temperatūrą: 12
Šalta!
2 <= 3
3 <= 3
Nei vienas iš testų nėra teisingas
Nei vienas iš testų nėra teisingas
6 > 5
7 > 5
8 > 5
9 > 5
10 > 5

Gali pastebėti, kad elif a <= 3 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
 
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ų.")