14-ámeliy jumıs: Python programmalastırıw tilinde While ciklı

TEORIYALIQ BÓLIM:
1. While ciklı haqqında túsinik:
While ciklı - belgili bir shárt orınlanǵansha kodtı qayta-qayta orınlaw ushın qollanıladı. Cikl shártiniń nátiyjesi False bolǵanda toqtaydı.
2. While ciklınıń sintaksisi:
while shárt:
    # orınlanatuǵın kodlar

3. While ciklınıń tiykarǵı elementleri:
• Baslanatuǵın shárt
• Cikl denesi
• Cikl sanawıshı
• Toqtaw shártleri
4. While ciklında qollanılatuǵın operatorlar:
• break - cikldan shıǵıw
• continue - cikldiń keyingi adım(iteraciya)ına ótiw
• else - cikl juwmaqlanǵannan soń orınlanadı
ÁMELIY BÓLIM:
1. 1 den 10 ǵa shekem sanlardı shıǵarıw:
san = 1
while san <= 10:
    print(san)
    san += 1

2. Jup sanlarǵa esaplaw:
san = 0
summa = 0
while san <= 100:
    summa += san
    san += 2
print(f"0 den 100 ge shekem jup sanlar summası: {summa}")

3. Parol tekseriwshi:
durıs_parol = "1234"
urunıw = 3

while urunıw > 0:
    parol = input("Paroldi kiritiń: ")
    if parol == durıs_parol:
        print("Sistemag'a kirdińiz!")
        break
    else:
        urunıw -= 1
        print(f"Qate parol. Qalg'an urunıwlar: {urunıw}")
else:
    print("Siz bloklang'an!") 

4. San tabıw oyını:
import random

jasırın_san = random.randint(1, 100)
tabılmadı = True
urunıwlar = 0

while tabılmadı:
    shama = int(input("1-100 aralıǵında san aytıń: "))
    urunıwlar += 1
    
    if shama < jasırın_san:
        print("Úlkenirek san aytıń")
    elif shama > jasırın_san:
        print("Kishirek san aytıń")
    else:
        print(f"Qutlıqlayman! {urunıwlar} urınıwda taptıńız!")
        tabılmadı = False

5. ATM simulyatorı:
balance = 1000000

while True:
    print("\n1. Balansımdı kóriw")
    print("2. Aqsha alıw")
    print("3. Aqsha salıw")
    print("4. Shıǵıw")
    
    tańlaw = input("Ámeldi tańlań (1-4): ")
    
    if tańlaw == '1':
        print(f"Siziń balansıńız: {balance} sum")
    elif tańlaw == '2':
        summa = float(input("Summani kiritiń: "))
        if summa > balance:
            print("Jetkilisiz ǵárejet!")
        else:
            balance -= summa
            print("Aqsha alındı")
    elif tańlaw == '3':
        summa = float(input("Summani kiritiń: "))
        balance += summa
        print("Aqsha salındı")
    elif tańlaw == '4':
        print("Xosh bolıńız!")
        break
    else:
        print("Nadurıs tańlaw!") 

6. Faktorialdı esaplaw:
san = int(input("Sandı kiritiń: "))
faktoriyal = 1
i = 1

while i <= san:
    faktoriyal *= i
    i += 1

print(f"{san}! = {faktoriyal}")

7. Fibonacchi izbe-izligi:
n = int(input("Neshe san shıǵarıw kerek: "))
a, b = 0, 1
i = 0

while i < n:
    print(a, end=' ')
    a, b = b, a + b
    i += 1

8. Kiritilgen teksti tekseriw:
while True:
    tekst = input("Tekst kiritiń (shıǵıw ushın 'exit' jazıń): ")
    
    if tekst.lower() == 'exit':
        break
    
    if len(tekst) < 3:
        print("Tekst júdá qısqa!")
        continue
    
    print(f"Kiritilgen tekst uzınlıg'ı: {len(tekst)}") 

9. Orta arifmetikalıq esaplaw:
summa = 0
san_muǵdarı = 0

while True:
    san = input("San kiritiń (toqtaw ushın 'stop' jazıń): ")
    
    if san.lower() == 'stop':
        break
    
    summa += float(san)
    san_muǵdarı += 1

if san_muǵdarı > 0:
    orta = summa / san_muǵdarı
    print(f"Orta arifmetikalıq: {orta}")

10. Sandaǵı cifrlar summası:
san = int(input("San kiritiń: "))
summa = 0

while san > 0:
    summa += san % 10
    san //= 10

print(f"Cifrlardıń summasi: {summa}")


QOSÍMSHA ESLETPELER:
1. While ciklın paydalanǵanda:
• Cikl shártin durıs qoyıw
• Sheksiz cikldan saqlanıw
• Sanawıshtı durıs ózgertiw
2. Qáwipsizlik:
• Sheksiz cikllardan saqlanıw
• break hám continue operatorların abaylap qollanıw
• Cikl shártin tekserip turıw
3. Optimallastırıw:
• Cikl ishinde awır esaplawlardı azaytıw
• Kerekli ózgermelerdi cikl sırtında jariyalaw
• Cikl shártin ápiwayı etip jazıw

Test
1. While ciklı qanday jaǵdayda isleydi?
a) Shárt durıs bolǵanda
b) Shárt nadurıs bolǵanda
c) Hár waqıt
d) Tek bir ret
2. While ciklında shárt qay jerde tekseriledi?
a) Cikl baslanǵanda
b) Cikl ortasında
c) Cikl aqırında
d) Cikl sırtında
3. While ciklınan shıǵıw ushın qaysı operatordı qollanamız?
a) continue
b) pass
c) break
d) exit
4. Eger While ciklınıń shártı hesh qashan ózgermese ne boladı?
a) Cikl bir ret isleydi
b) Cikl sheksiz isleydi
c) Cikl hesh islemeydi
d) Qáte shıǵadı
5. While ciklında sanawıshtı qanday ózgertiwge boladı?
a) san += 1
b) san++
c) san = san + 1
d) a hám c juwapları durıs
6. Tómendegi kodtıń nátiyjesin anıqlań:
i = 0
while i &lt; 5:
    print(i)
    i += 1

a) 0 1 2 3 4
b) 1 2 3 4 5
c) 0 1 2 3 4 5
d) 1 2 3 4
7. While ciklın For ciklına almastırıwǵa bola ma?
a) Awa, barlıq jaǵdaylarda
b) Yaq, hesh qashan
c) Kóp jaǵdaylarda, biraq barlıq emes
d) Tek sanlar menen islegen jaǵdayda
8. Qaysı jaǵdayda While ciklı For ciklınan qolaylıraq?
a) Qashan islewi belgisiz bolǵanda
b) Anıq sanı bar elementler dizimin qayta islew kerek bolǵanda
c) Hár bir element ushın birdey ámel orınlaw kerek bolǵanda
d) Hesh qashan
9. While ciklında else blokı ne ushın qollanıladı?
a) Cikl shártı nadurıs bolǵanda
b) Cikl normal tamamlanǵanda (break siz)
c) Cikl break penen toqtaǵanda
d) Cikl ishinde qáte júz bergende
10. Tómendegi kodtıń nátiyjesin anıqlań:
x = 0
while x &lt; 3:
    x += 1
print(x) 

a) 2
b) 3
c) 4
d) 0
Juwaplar:
1. a, 2. a, 3. c, 4. b, 5. d, 6. a, 7. c, 8. a, 9. b, 10. b