Knyga/Įdėtiniai ciklai ir sąlygos: Skirtumas tarp puslapio versijų

Iš Pitonas.
Nėra keitimo santraukos
Nėra keitimo santraukos
21 eilutė: 21 eilutė:
  Įvesk skaičių: 0
  Įvesk skaičių: 0
  Įvedei nulį.
  Įvedei nulį.
O dabar pakeisiu programą, kad būtų naudojamas idėjimas:
<syntaxhighlight lang="python">
skaičius = float(input("Įvesk skaičių: "))
if skaičius != 0:
  if skaičius > 0:
    print("Įvedei teigamą skaičių.")
  else:
    print("Įvedei neigiamą skaičių.")
else:
  print("Įvedei nulį.")
</syntaxhighlight>
Programa pateikia tokį pat atsakymą, bet yra įgyvendinta šiek tiek kitaip. Parašiau programą su dviem lygiais, tačiau lygių gali būtų begalinis skaičius. Kuo daugiau lygių, tuo sunkiau skaityti kodą ir rasti klaidas.
Pabandyk suprasti tokią programą:
<syntaxhighlight lang="python">
skaičius = float(input("Įvesk skaičių: "))
if skaičius != 0:
  if skaičius > 0:
    if skaičius > 10:
      if skaičius > 100:
        if skaičius > 1000:
          print("Įvedei didelį teigiamą skaičių.")
        else:
          print("Įvedei vidutinį teigiamą skaičių.")
      else:
        print("Įvedei mažą teigiamą skaičių.")
    else:
      print("Įvedei teigamą skaičių.")
  else:
    print("Įvedei neigiamą skaičių.")
else:
  print("Įvedei nulį.")
</syntaxhighlight>


=== ciklas cikle ===
=== ciklas cikle ===

10:30, 12 lapkričio 2024 versija

ifas ife

Gyvenime pasitaiko situacijų, kai reikia priimti tam tikrus sprendimus ir jais remiantis nuspręsti, ką daryti toliau. Panašių situacijų pasitaiko ir programavime, kai reikia priimti tam tikrus sprendimus ir jais remiantis nuspręsti, kada vykdyti kitą kodo bloką. Tai atliekama naudojant įdėtinį if (ang. „Nested if“) teiginį.

Python įdėtinis if teiginys gali turėti if...elif...else teiginį kitame if...elif...else teiginyje. Kompiuterių programavime tai vadinama įdėjimu arba angliškai Nesting. Bet koks šių teiginių skaičius gali būti įdėtas vienas į kitą. Įtraukimas yra vienintelis būdas nustatyti įdėjimo lygį. Tai gali būti painu, todėl, jei įmanoma, reikia to vengti.

Parašysiu programą, kuri pasako, ar tavo įvestas skaičius yra teigiamas ar neigiamas.

skaičius = float(input("Įvesk skaičių: "))
if skaičius == 0:
  print("Įvedei nulį.")
elif skaičius > 0:
  print("Įvedei teigamą skaičių.")
else:
  print("Įvedei neigiamą skaičių.")

Rezultate turėtum gauti:

Įvesk skaičių: -12
Įvedei neigiamą skaičių.

arba

Įvesk skaičių: 0
Įvedei nulį.

O dabar pakeisiu programą, kad būtų naudojamas idėjimas:

skaičius = float(input("Įvesk skaičių: "))
if skaičius != 0:
  if skaičius > 0:
    print("Įvedei teigamą skaičių.")
  else:
    print("Įvedei neigiamą skaičių.")
else:
  print("Įvedei nulį.")

Programa pateikia tokį pat atsakymą, bet yra įgyvendinta šiek tiek kitaip. Parašiau programą su dviem lygiais, tačiau lygių gali būtų begalinis skaičius. Kuo daugiau lygių, tuo sunkiau skaityti kodą ir rasti klaidas. Pabandyk suprasti tokią programą:

skaičius = float(input("Įvesk skaičių: "))
if skaičius != 0:
  if skaičius > 0:
    if skaičius > 10:
      if skaičius > 100:
        if skaičius > 1000:
          print("Įvedei didelį teigiamą skaičių.")
        else:
          print("Įvedei vidutinį teigiamą skaičių.")
      else:
        print("Įvedei mažą teigiamą skaičių.")
    else:
      print("Įvedei teigamą skaičių.")
  else:
    print("Įvedei neigiamą skaičių.")
else:
  print("Įvedei nulį.")

ciklas cikle