Python / Нөхцөл шалгах (if/elif/else)

Нөхцөл шалгах (if/elif/else)

Бодит амьдралд шийдвэр байнга гардаг — "хэрэв бороо орвол шүхэр авна, үгүй бол авахгүй" гэх мэт. Програмд ч мөн адил: тодорхой нөхцөл хангагдсан үед тодорхой кодыг ажиллуулах шаардлага байдаг. Үүнд if, elif, else операторуудыг ашигладаг.

if — үндсэн нөхцөл

python
нас = 20

if нас >= 18:
    print("Насанд хүрсэн иргэн")
    print("Сонгуульд оролцох эрхтэй")

Бүтэц:

  • if түлхүүр үгийн дараа нөхцөл бичнэ
  • Мөрийн төгсгөлд : тавина
  • Биелүүлэх код нь 4 зайгаар (эсвэл tab-р) догол оруулагдана
  • Нөхцөл True бол биелнэ, False бол алгасна
python
температур = -10

if температур < 0:
    print("Хүйтэн байна!")
    print("Дулаан хувцас өм")

print("Энэ мөр үргэлж ажиллана")   # if-ийн гадна

if / else — хоёр замт сонголт

python
оноо = 55

if оноо >= 60:
    print("Тэнцлээ ✓")
else:
    print("Тэнцсэнгүй ✗")
    print(f"Дутуу оноо: {60 - оноо}")

else блок нь if-ийн нөхцөл False болох бүх тохиолдолд ажиллана — нэмэлт нөхцөл бичих шаардлагагүй.

if / elif / else — олон замт сонголт

Хоёроос олон сонголт байвал elif (else if) ашиглана:

python
оноо = 78

if оноо >= 90:
    print("A — Маш сайн")
elif оноо >= 80:
    print("B — Сайн")
elif оноо >= 70:
    print("C — Дунд зэрэг")
elif оноо >= 60:
    print("D — Хангалттай")
else:
    print("F — Тэнцсэнгүй")

# Гаралт: C — Дунд зэрэг

Python нөхцөлүүдийг дээрээс доош шалгана — анхны True болсон блок ажиллаад, үлдсэнийг алгасна.

Нөхцөл дотор нөхцөл (nested if)

python
нас = 20
гишүүн = True

if нас >= 18:
    print("Насанд хүрсэн")
    if гишүүн:
        print("Гишүүний хөнгөлөлт авах боломжтой")
    else:
        print("Гишүүнчлэлд нэгдээрэй")
else:
    print("18 нас хүрээгүй байна")

Nested if ашиглахдаа хэт гүн орохоос болгоомжил — уншихад хэцүүрдэнэ. Ихэвчлэн 2 давхар хангалттай.

Нэг мөрийн if (ternary expression)

Богино нөхцөлийг нэг мөрөнд бичиж болно:

python
нас = 22

# Уламжлалт
if нас >= 18:
    статус = "Насанд хүрсэн"
else:
    статус = "Насанд хүрээгүй"

# Нэг мөрөнд — ternary
статус = "Насанд хүрсэн" if нас >= 18 else "Насанд хүрээгүй"
print(статус)   # Насанд хүрсэн

and / or нөхцөлд

python
температур = 25
нарлаг = True

if температур > 20 and нарлаг:
    print("Гадаа гарахад тохиромжтой өдөр!")

үнэ = 85_000
if үнэ < 50_000 or үнэ > 200_000:
    print("Үнэ хүлээн зөвшөөрөгдөхгүй мужид байна")
else:
    print("Үнэ хүчинтэй")

Бодит жишээ — нэвтрэх систем

python
хэрэглэгчид = {
    "bold": "pass123",
    "sarnai": "python2024"
}

нэвтрэх_нэр = "bold"
нууц_үг = "pass123"

if нэвтрэх_нэр not in хэрэглэгчид:
    print("Хэрэглэгч олдсонгүй")
elif хэрэглэгчид[нэвтрэх_нэр] != нууц_үг:
    print("Нууц үг буруу")
else:
    print(f"Тавтай морил, {нэвтрэх_нэр}!")

Гаралт:

код
Тавтай морил, bold!

JavaScript-тэй харьцуулбал

javascript
// JavaScript
if (score >= 90) {
  console.log("A");
} else if (score >= 80) {
  console.log("B");
} else {
  console.log("F");
}
python
# Python
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
else:
    print("F")

Гол ялгаа: Python { } хаалтгүй, else if биш elif, нөхцөлийг хаалтанд (()) оруулах шаардлагагүй.

Дараагийн хичээлд:

Нөхцөл шалгаж, шийдвэр гаргаж сурлаа! Дараа нь for давталтаар жагсаалт, string, тоонуудыг дамжин давтаж, кодыг автоматаар олон удаа ажиллуулж сурна.