3-dars: Shartlar va sikllar (Python)
Dars
Davomiyligi: 90 daqiqa Maqsad: Python'da if/elif/else, for, while, break, continue, range.
1. if statement
x = 10
if x > 5:
print("Katta")C'da:
if (x > 5) {
printf("Katta\n");
}Python:
()kerak emas{}o'rniga indentatsiya:—ifoxirida
2. if-else
x = 3
if x > 5:
print("Katta")
else:
print("Kichik")3. elif (else if)
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
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
# 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)
# 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 for — range-based (yoki iterable bo'yicha).
# C: for (int i = 0; i < 5; i++)
for i in range(5):
print(i)
# 0 1 2 3 4range(N) — 0 dan N-1 gacha.
range variantlari
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
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
for i, ball in enumerate(ballar):
print(f"{i}: {ball}")for bilan string
for c in "Akmal":
print(c)
# A k m a l8. while sikli
i = 0
while i < 5:
print(i)
i += 1C bilan deyarli bir xil.
Cheksiz while
while True:
answer = input("Davom etamiz? (y/n): ")
if answer == "n":
break9. break va continue
# 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 910. for-else (Python maxsus)
for i in range(10):
if i == 100:
break
else:
print("break ishlamadi")else — sikl break siz tugasa ishlaydi.
# 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:
if x > 5:
pass # hech narsa qilmaslik
else:
print("...")
# Yoki funksiya skeletoni
def my_func():
pass # keyinroq to'ldiramizC'da ; (bo'sh statement).
12. match statement (Python 3.10+)
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
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
def factorial(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
print(factorial(5)) # 120
print(factorial(10)) # 362880015. Misol: Tub sonlar
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
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}")
break17. Nested loops
# 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)
# 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
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:
#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:
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:
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:
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:
# 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
$ mkdir 6-oy-dars-3
$ # fayllar
$ git add . && git commit -m "feat: dars 3 - control flow" && git pushLug'at
| Termin | Izoh |
|---|---|
| if/elif/else | Shartlar |
| for | Iteratsiya sikli |
| while | Shart asoslangan |
| range() | Raqamlar generatori |
| enumerate() | Index + qiymat |
| break/continue | Sikldan chiqish/keyingi |
| pass | Bo'sh blok |
| match | switch (Python 3.10+) |
| for-else | break siz tugasa |
| List comprehension | [x for x in ...] |
| Truthy/Falsy | Implicit boolean |
| Chained comparison | 1 < x < 10 |