15-ámeliy jumıs: Python programmalastırıw tilinde For ciklı

1. For ciklı haqqında ulıwma túsinik:
For ciklı - belgilenbegen dizimdi (massiv, qatar yamasa basqa iteraciya qılıwǵa bolatuǵın obyektlerdi) adımba-adım aylanıp shıǵıw ushın qollanıladı.
Tiykarǵı sintaksis:
for element in sequence:
    # orınlanatuǵın kodlar

2. For cikliniń qollanılıw usılları:
a) Sanlı diapazon menen islew:
# range() funkciyası járdeminde 0-4 aralıǵındaǵı sanlar
for i in range(5):
    print(i)  # 0, 1, 2, 3, 4 sanların shıǵaradı

b) Dizim (list) elementleri menen islew:
jańlıqlar = ["alma", "almurt", "erik"]
for miywe in jańlıqlar:
    print(miywe) 

c) Qatar (string) elementleri menen islew:
sóz = "Python"
for hárip in sóz:
    print(hárip) 

3. For cikliniń qosımsha imkaniyatları:
a) enumerate() funkciyası - indeks penen birge islew:
qatnasıwshılar = ["Ali", "Ayjan", "Berdaq"]
for index, at in enumerate(qatnasıwshılar):
    print(f"{index + 1}-qatnasıwshı: {at}")

b) zip() funkciyası - bir neshe dizimdi birge islew:
atlar = ["Ali", "Ayjan"]
jaslar = [20, 22]
for at, jas in zip(atlar, jaslar):
    print(f"{at} {jas} jasta")

4. Ámeliy bólim:
1-másele: 1 den 10 ǵa shekem bolǵan sanlar kvadratın esaplaw:
for san in range(1, 11):
    kvadrat = san ** 2
    print(f"{san} sanınıń kvadratı: {kvadrat}")

2-másele: Dizimniń jup sanların tabıw:
sanlar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
jup_sanlar = []

for san in sanlar:
    if san % 2 == 0:
        jup_sanlar.append(san)

print("Jup sanlar:", jup_sanlar) 

3-másele: Sózler uzınlıǵın esaplaw:
sózler = ["Python", "Programma", "Kompyuter"]
for sóz in sózler:
    uzınlıq = len(sóz)
    print(f"{sóz} sóziniń uzınlıǵı: {uzınlıq}")

5. Break hám continue operatorları:
Break - cikldi toqtatıw:
for i in range(1, 6):
    if i == 3:
        break
    print(i)  # 1, 2 sanların shıǵaradı

Continue - cikldiń keyingi qadam ótiwi:
for i in range(1, 6):
    if i == 3:
        continue
    print(i)  # 1, 2, 4, 5 sanların shıǵaradı

Bul teoriyalıq hám ámeliy materiallar For cikliniń tiykarǵı túsiniklerin qamtıp aladı.

ÁMELIY MÍSALLAR
1-mısal: Summanı esaplaw
# 1 den 10 ǵa shekem sanlar qosındısın esaplaw
qosındı = 0
for i in range(1, 11):
    qosındı += i
print(f"1 den 10 ǵa shekem sanlar qosındısı: {qosındı}")  # Nátiyje: 55

2-mısal: Faktorial esaplaw
# 5 faktorialın esaplaw (5!)
san = 5
faktorial = 1
for i in range(1, san + 1):
    faktorial *= i
print(f"{san}! = {faktorial}")  # Nátiyje: 120

3-mısal: Dizimdi filtrlaw
# Tek sanlardı tabıw
sanlar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
tek_sanlar = []

for san in sanlar:
    if san % 2 != 0:
        tek_sanlar.append(san)
print("Tek sanlar:", tek_sanlar)  # Nátiyje: [1, 3, 5, 7, 9] 

4-mısal: Qatar menen islew
# Sózdi teris jazıw
sóz = "Qaraqalpaqstan"
teris_sóz = ""

for hárip in sóz:
    teris_sóz = hárip + teris_sóz
print(f"Teris sóz: {teris_sóz}")  # Nátiyje: natsqaplaqaraQ

5-mısal: Keste jasaw
# 5 ke kóbeytiw kestesi
san = 5
for i in range(1, 11):
    nátiyje = san * i
    print(f"{san} x {i} = {nátiyje}")

6-mısal: Dizimlerdi salıstırıw
# Eki dizimniń ulıwma elementlerin tabıw
dizim1 = [1, 2, 3, 4, 5]
dizim2 = [4, 5, 6, 7, 8]
ulıwma_elementler = []

for element in dizim1:
    if element in dizim2:
        ulıwma_elementler.append(element)
print("Ulıwma elementler:", ulıwma_elementler)  # Nátiyje: [4, 5] 

7-mısal: Bahalardı esaplaw
# Oqıwshılardıń ortasha bahası
oqıwshılar = {
    "Ali": 85,
    "Ayjan": 92,
    "Berdaq": 78,
    "Gúlnaz": 95
}

jámi_baha = 0
for baha in oqıwshılar.values():
    jámi_baha += baha

ortasha_baha = jámi_baha / len(oqıwshılar)
print(f"Ortasha baha: {ortasha_baha}")  # Nátiyje: 87.5

8-mısal: Pattern jaratıw
# Juldızshalar menen úshmúyesh islew
qatarlar = 5
for i in range(qatarlar):
    print('*' * (i + 1))
# Nátiyje:
# *
# **
# ***
# ****
# *****

9-mısal: Sózler statistikası
# Háriplerdi sanaw
tekst = "Alpamıs dástanı"
hárip_sanı = {}

for hárip in tekst.lower():
    if hárip.isalpha():  # tek háripler
        if hárip in hárip_sanı:
            hárip_sanı[hárip] += 1
        else:
            hárip_sanı[hárip] = 1

print("Háripler statistikası:", hárip_sanı) 

10-mısal: Sanlar tablicası
# 3x3 tablicada sanlar kórsetiw
for i in range(1, 4):
    qatar = ""
    for j in range(1, 4):
        san = i * j
        qatar += f"{san}\t"
    print(qatar) 

Bul mısallardı ózińiz orınlap kóriń hám olardı túrlendiriń. Mısalı:
• Sanlar diapazonın ózgertiń
• Jańa shártler qosıń
• Basqa dizimler menen sınap kóriń
• Pattern ólshemin ózgertiń
Test
1. For ciklinıń tiykarǵı wazıypası ne?
A) Sanlardı qosıw
B) Tek sanlar menen islew
C) Dizimdi yamasa izbe-izlikti adımba-adım aylanıp shıǵıw
D) Maǵlıwmatlardı saqlaw
Durıs juwap: C
2. Tómendegi kodtıń nátiyjesin tabıń:
for i in range(3):
    print(i) 

A) 1, 2, 3
B) 0, 1, 2
C) 1, 2
D) 0, 1, 2, 3
Durıs juwap: B
3. range(1, 5) funkciyası qaysı sanlar diapazonın qaytaradı?
A) 1, 2, 3, 4, 5
B) 1, 2, 3, 4
C) 0, 1, 2, 3, 4
D) 2, 3, 4, 5
Durıs juwap: B
4. Tómendegi kodta qátelik bar ma?
for x in ["alma", "almurt", "erik"]:
    print(x) 

A) Awa, for ciklı tek sanlar menen isleydi
B) Awa, qawsırmalar durıs emes
C) Yaq, kod durıs isleydi
D) Awa, print funkciyası durıs emes jazılǵan
Durıs juwap: C
5. break operatorı ne ushın qollanıladı?
A) Cikldi dawam etiw ushın
B) Cikldi toqtatıw ushın
C) Cikldi qaytadan baslaw ushın
D) Cikldi pauzaǵa qoyıw ushın
Durıs juwap: B
6. continue operatorı ne isleydi?
A) Cikldi toqtatadı
B) Cikldiń basına qaytadı
C) Cikldiń aǵımdaǵı iteraciyasın ótkizip jiberedi hám keyingisine ótedi
D) Cikldi qaytalap orınlaydı
Durıs juwap: C
7. Tómendegi kodtıń nátiyjesin tabıń:
sum = 0
for i in range(1, 4):
    sum += i
print(sum) 

A) 3
B) 6
C) 10
D) 4
Durıs juwap: B
8. enumerate() funkciyası ne ushın qollanıladı?
A) Dizimdi sortlaw ushın
B) Dizim elementlerin sanaw ushın
C) Dizim elementlerin hám olardıń indekslerin birge alıw ushın
D) Dizimdi ózgertiw ushın
Durıs juwap: C
9. For ciklinde else blokı qashan orınlanadı?
A) Cikl hesh qashan orınlanbaǵanda
B) Cikl bir ret orınlanǵanda
C) Cikl break operatorısız tolıq orınlanǵanda
D) Cikl qaytalanatuǵın jaǵdayda
Durıs juwap: C
10. Tómendegi kodtıń nátiyjesin tabıń:
for i in "Python":
    if i == "h":
        continue
    print(i, end="")

A) Python
B) Pyton
C) Pythn
D) Pton
Durıs juwap: B
Juwaplar gilti:
1. C
2. B
3. B
4. C
5. B
6. C
7. B
8. C
9. C
10. B