Topshiriqlar 1 (for operatori)
Quyidagi mashqlar source/python3/for-loop.ipynb mavzulari asosida tuzilgan. Har bir masalada yechimni iloji boricha for operatori bilan yozing (zarur joyda if, break, continue, range, enumerate, zip dan foydalaning).
1. Boshlang‘ich mashqlar
fruits = ['olma', 'banan', 'anor', 'uzum']ro‘yxatiniforbilan aylanib chiqing va har bir meva nomini alohida satrga chop eting.word = "dasturlash"satridagi harflarniforbilan aylanib, har bir harfni indeks raqami bilan birga chiqarib bering (masalan:0:d,1:a, …).enumeratedan foydalaning.nums = [3, 1, 4, 1, 5, 9]ro‘yxatidagi sonlarning kvadratlarini yangi ro‘yxatga yig‘ing va natijani chop eting.numsro‘yxatidagi juft sonlar sonini sanang.numsro‘yxatidagi sonlar yig‘indisini hisoblang (start qiymat 0 bo‘lsin).
2. range() bilan ishlash
1 dan 100 gacha (ikkala chegara ham kirsin) bo‘lgan sonlardan faqat 7 ga bo‘linadiganlarini chop eting.
1 dan
ngacha bo‘lgan sonlarning yig‘indisini toping (nni foydalanuvchidan oling).1 dan
ngacha bo‘lgan juft va toq sonlar yig‘indisini alohida hisoblang.nberilgan. 1 danngacha bo‘lgan sonlar orasida nechta tub son borligini toping (oddiy tekshiruv bilan).
3. break, continue, else
fruitsro‘yxatida"banan"uchraganda takrorlashni to‘xtating (break).breakishlagan/ishlamagan holatdafor-elseqanday ishlashini ko‘rsating.1 dan 30 gacha bo‘lgan sonlar orasida 3 ga bo‘linadiganlarni tashlab ketib (
continue), qolganlarini chop eting.Foydalanuvchi kiritgan satr ichida birinchi raqam (
0-9) uchragan joyda to‘xtab, o‘sha raqam va uning indeksini chiqaring. Agar raqam bo‘lmasafor-elseorqali “raqam topilmadi” deb chiqaring.
4. zip() va enumerate()
names = ['Ali', 'Vali', 'Guli']vaages = [18, 20, 19]berilgan.zip()yordamida"Ali - 18"ko‘rinishida chiqaring.a = [1,2,3,4]vab = [10,20,30,40]berilgan.zip()yordamida elementma-element yig‘indi ro‘yxatini hosil qiling:[11,22,33,44].students = ['A', 'B', 'C', 'D']ro‘yxatinienumerate(..., start=1)bilan aylanib,1-Ako‘rinishida chiqarib bering.
5. Ichma-ich for (nested loops)
1 dan 9 gacha ko‘paytirish jadvalini (9x9) chop eting. Har bir qator bir xil formatda chiqsin.
nberilgan. Quyidagi shaklni chop eting (*lar soni qatordan qatorga oshib boradi):
*
**
***
....
2D ro‘yxat berilgan:
X = [[1,2,3],[4,5,6]]. Ichma-ichforbilan barcha elementlarni ketma-ket chop eting.2D ro‘yxat
Xuchun har bir qatordagi elementlar yig‘indisini alohida ro‘yxatga yozing (masalan:[6, 15]).
6. Amaliy masalalar
textsatr berilgan. Undagi harflar (isalpha()), raqamlar (isdigit()) va boshqa belgilar sonini alohida sanang.Foydalanuvchi
nkiritadi. 1 danngacha bo‘lgan sonlar orasidan eng katta kvadratindan oshmaydigan sonni toping (masalan,n=20bo‘lsa, javob 4, chunki4^2=16).numsro‘yxatida eng katta va eng kichik elementniforyordamida toping (tayyormin/maxishlatmasdan).numsro‘yxatida ketma-ket bir xil qiymatlar sonini hisoblang (masalan,[1,1,2,2,2,3]da ketma-ket takrorlar sonini toping).nberilgan. Fibonacci ketma-ketligining dastlabkinta hadiniforbilan hosil qiling.