Python 3.10+ Pattern Matching va rasmiy amaliy topshiriqlar
9-sinfAdvanced Back-end va DevOps3-hafta · 9-dars1.46-rasm: Tanlash operatorining umumiy sintaksisi
1.47 va 1.48-rasmlar: 1–7 kunlar va boshqaruv menyusi
3 ga karralilar (for/while) va 12 ta oy nomlari dasturi
Har bir qatorda o'zgaruvchini qayta yozish kerak: if x == 1: elif x == 2:
Variantlar ko'paysa o'qish qiyinlashadi
Bitta match x: orqali barcha variantlar qatorlarga ajratiladi
Ixcham, tushunarli va tezkor
1.46-rasm: Qiymat, variantlar va boshqa holatlar (_)
tanlov = int(input("Tanlovni kiriting (1-3): "))
match tanlov:
case 1:
print("Dastur boshlandi")
case 2:
print("Sozlamalar ochildi")
case 3:
print("Dastur yopildi")
case _:
print("Noto'g'ri tanlov")
1.48-rasm: 1 dan 7 gacha raqamlar bo‘yicha tanlov
kun = int(input("Hafta kunini kiriting (1-7): "))
match kun:
case 1: print("Dushanba")
case 2: print("Seshanba")
case 3: print("Chorshanba")
case 4: print("Payshanba")
case 5: print("Juma")
case 6: print("Shanba")
case 7: print("Yakshanba")
case _:
print("Xato! 1–7 oralig'ida kiriting")
3 ga karrali sonlar va 12 ta oy nomlari
n = 20
for i in range(1, n + 1):
if i % 3 == 0:
print(i, end=" ")
# 3 6 9 12 15 18
n = 20
i = 1
while i <= n:
if i % 3 == 0:
print(i, end=" ")
i += 1
# 3 6 9 12 15 18
oy = int(input("Oy raqamini kiriting (1-12): "))
match oy:
case 1: print("Yanvar")
case 2: print("Fevral")
case 3: print("Mart")
case 4: print("Aprel")
case 5: print("May")
case 6: print("Iyun")
# ... qolgan oylar
case _:
print("Xato! 1–12 oralig'ida kiriting")
Vaqt: 20 daqiqa · Darajalar bo‘yicha
1 dan 7 gacha kiritilgan songa qarab hafta kunini match/case da chiqaring.
[1, 30] oralig‘idagi 3 ga karrali sonlarni for va while da chiqaring.
1 dan 12 gacha songa qarab fasl nomini case 12 | 1 | 2: usulida aniqlang.
Quyidagi match/case blokida x = 7 bo‘lsa nima chiqadi?
x = 7
match x:
case 1 | 3 | 5: print("Toq 1")
case 2 | 4 | 6: print("Juft")
case _: print("Boshqa son")
Boshqa son (chunki 7 variantlarda yo'q va case _ ga tushadi)
Python o‘rnatish, toifalar (int, float, str, bool), o‘zgaruvchilar
Taqqoslash, mantiqiy operatorlar, if/else va elif
for, range(), while, break, continue va match/case
Keyingi hafta: Ma’lumotlar tuzilmalari: string va list
9-sinfAdvanced Back-end va DevOps