Skip to content

3-dars: Shartlar va sikllar (Python)

Dars

Davomiyligi: 90 daqiqa Maqsad: Python'da if/elif/else, for, while, break, continue, range.

1. if statement

python
x = 10

if x > 5:
    print("Katta")

C'da:

c
if (x > 5) {
    printf("Katta\n");
}

Python:

  • () kerak emas
  • {} o'rniga indentatsiya
  • :if oxirida

2. if-else

python
x = 3

if x > 5:
    print("Katta")
else:
    print("Kichik")

3. elif (else if)

python
ball = 75

if ball >= 90:
    print("A")
elif ball >= 80:
    print("B")
elif ball >= 70:
    print("C")
elif ball >= 60:
    print("D")
else:
    print("F")

elif — Python uchun maxsus.

C'da else if. Python: elif.

4. Murakkab shartlar

python
x = 25

# AND
if x > 18 and x < 60:
    print("Ish yoshi")

# OR
if x < 18 or x > 60:
    print("Ish yoshi emas")

# NOT
if not (x < 18):
    print("18+")

# Chained comparison (Python maxsus)
if 18 <= x <= 60:    # 18 <= x AND x <= 60
    print("Ish yoshi")

Chained comparison

Python: 18 <= x <= 60

C'da: 18 <= x && x <= 60

5. Truthy va Falsy

python
# Falsy qiymatlar
0, 0.0, "", [], {}, (), None, False

# Boshqalari — Truthy

if x:          # x — falsy bo'lmasa
    print(...)

# Misol
name = ""
if name:
    print("Ism bor")
else:
    print("Ism bo'sh")

6. Ternary (qisqa if-else)

python
# C: int max = (a > b) ? a : b;

max = a if a > b else b

# Misol
yosh = 25
kategoriya = "Kattalar" if yosh >= 18 else "Bola"

7. for sikli

Python'da forrange-based (yoki iterable bo'yicha).

python
# C: for (int i = 0; i < 5; i++)

for i in range(5):
    print(i)
# 0 1 2 3 4

range(N) — 0 dan N-1 gacha.

range variantlari

python
range(5)              # 0, 1, 2, 3, 4
range(2, 8)           # 2, 3, 4, 5, 6, 7
range(0, 10, 2)        # 0, 2, 4, 6, 8 (step 2)
range(10, 0, -1)      # 10, 9, 8, ..., 1 (teskari)

for bilan list

python
ballar = [85, 92, 78, 65, 90]

for ball in ballar:
    print(ball)

C'da indeks bilan. Python — to'g'ridan-to'g'ri.

for bilan index

python
for i, ball in enumerate(ballar):
    print(f"{i}: {ball}")

for bilan string

python
for c in "Akmal":
    print(c)
# A k m a l

8. while sikli

python
i = 0
while i < 5:
    print(i)
    i += 1

C bilan deyarli bir xil.

Cheksiz while

python
while True:
    answer = input("Davom etamiz? (y/n): ")
    if answer == "n":
        break

9. break va continue

python
# break — sikldan chiqish
for i in range(10):
    if i == 5:
        break
    print(i)
# 0 1 2 3 4

# continue — keyingi iteratsiyaga
for i in range(10):
    if i % 2 == 0:
        continue
    print(i)
# 1 3 5 7 9

10. for-else (Python maxsus)

python
for i in range(10):
    if i == 100:
        break
else:
    print("break ishlamadi")

else — sikl break siz tugasa ishlaydi.

python
# Tub son tekshirish
n = 17
for i in range(2, int(n ** 0.5) + 1):
    if n % i == 0:
        print(f"{n} tub emas ({i} bo'luvchisi bor)")
        break
else:
    print(f"{n} tub son")

11. pass statement

Bo'sh kod bloki:

python
if x > 5:
    pass    # hech narsa qilmaslik
else:
    print("...")

# Yoki funksiya skeletoni
def my_func():
    pass    # keyinroq to'ldiramiz

C'da ; (bo'sh statement).

12. match statement (Python 3.10+)

python
day = 3

match day:
    case 1:
        print("Dushanba")
    case 2:
        print("Seshanba")
    case 3:
        print("Chorshanba")
    case _:
        print("Boshqa")

C'dagi switch ga o'xshash.

_ — default.

13. Misol: FizzBuzz

python
for i in range(1, 101):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

Klassik interview savoli.

14. Misol: Faktorial

python
def factorial(n):
    result = 1
    for i in range(1, n + 1):
        result *= i
    return result

print(factorial(5))   # 120
print(factorial(10))  # 3628800

15. Misol: Tub sonlar

python
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

# 1-100 oraliqdagi tub sonlar
for n in range(2, 101):
    if is_prime(n):
        print(n, end=" ")
print()

16. Misol: Number Guessing

python
import random

secret = random.randint(1, 100)
attempts = 0

print("1-100 oraliqdagi raqamni toping!")

while True:
    guess = int(input("Taxmin: "))
    attempts += 1
    
    if guess < secret:
        print("Balandroq!")
    elif guess > secret:
        print("Pastroq!")
    else:
        print(f"Topdingiz! Urinishlar: {attempts}")
        break

17. Nested loops

python
# Ko'paytirish jadvali
for i in range(1, 10):
    for j in range(1, 10):
        print(f"{i*j:4}", end="")
    print()

Natija:

   1   2   3   4   5   6   7   8   9
   2   4   6   8  10  12  14  16  18
   3   6   9  12  15  18  21  24  27
   ...

18. List comprehension (qisqa for)

python
# Oddiy
squares = []
for i in range(10):
    squares.append(i ** 2)

# List comprehension
squares = [i ** 2 for i in range(10)]
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Qisqaroq va tezroq.

Shart bilan

python
even_squares = [i ** 2 for i in range(20) if i % 2 == 0]
# [0, 4, 16, 36, 64, 100, 144, 196, 256, 324]

19. C va Python taqqoslash

Tub son (1-100)

C:

c
#include <stdio.h>

int is_prime(int n) {
    if (n < 2) return 0;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) return 0;
    }
    return 1;
}

int main(void) {
    for (int i = 2; i <= 100; i++) {
        if (is_prime(i)) {
            printf("%d ", i);
        }
    }
    printf("\n");
    return 0;
}

~15 qator.

Python:

python
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

print([n for n in range(2, 101) if is_prime(n)])

~9 qator.

Topshiriqlar

1 — Asosiy

basic.py:

python
n = int(input("Raqam: "))
if n > 0:
    print("Musbat")
elif n < 0:
    print("Manfiy")
else:
    print("Nol")

2 — Harf baho

grade.py — 4-oydagi vazifaning Python versiyasi.

3 — FizzBuzz

fizzbuzz.py

4 — Faktorial

factorial.py — for sikli bilan.

5 — Tub sonlar

primes.py — 1-200 oraliqdagi barcha tub sonlar.

6 — Ko'paytirish jadvali

mult_table.py — 9x9.

7 — Number guess

guess.py — Dars matnidagi dastur.

8 — Yulduzlar

stars.py:

python
n = 5

# Piramida
for i in range(1, n + 1):
    print("*" * i)

print()

# O'rtali
for i in range(1, n + 1):
    print(" " * (n - i) + "*" * (2 * i - 1))

9 — List comprehension

comprehension.py:

python
# Kvadratlar
squares = [i ** 2 for i in range(10)]

# Juftlar
evens = [i for i in range(20) if i % 2 == 0]

# Strings
names = ["akmal", "aziza", "botir"]
upper = [n.upper() for n in names]

# Conditional
ages = [25, 17, 19, 22, 30]
adults = ["Kattalar" if a >= 18 else "Bola" for a in ages]

print(squares)
print(evens)
print(upper)
print(adults)

10 — GitHub

bash
$ mkdir 6-oy-dars-3
$ # fayllar
$ git add . && git commit -m "feat: dars 3 - control flow" && git push

Lug'at

TerminIzoh
if/elif/elseShartlar
forIteratsiya sikli
whileShart asoslangan
range()Raqamlar generatori
enumerate()Index + qiymat
break/continueSikldan chiqish/keyingi
passBo'sh blok
matchswitch (Python 3.10+)
for-elsebreak siz tugasa
List comprehension[x for x in ...]
Truthy/FalsyImplicit boolean
Chained comparison1 < x < 10

Keyingi dars

4-dars: Funksiyalar →

Master IT o'quv markazi — o'qitish rejasi