Skip to content

For sikl operatori

Kirish

Bir hil hisoblash jarayonlarini bir necha bor takrorlanishi Sikl deyiladi. Python dasturlash tilida sikl operatorining bir necha xil turi mavjud.

  • for sikl operatori
  • while sikl operatori

Yechilayotgan masalaga qarab, dasturchi o'zi uchun qulay bo`lgan sikl operatoridan foydalanishi mumkin. Python dasturlash tilida for sikl operatori sintaksisi quyidagicha

for i in range():
    # Operator
  • Bu dasturda for kalit so’z i o’zgaruvchi(ixtiyoriy nom) in kalit so’z. range() bu raqamli ketma-ketlikni qaytaruvchi funksiya. pass esa bo’sh sikl tanasi.
  • Agar dasturda sonlarni ketma-ket chiqarish kerak bo'lsa range() funksiyasidan foydalaniladi. U arifmetik progressiyaga asoslangan ro`yxat tuzadi.
  • Agar range() funksiyasini argumintida bitta son bo’lsa 0 va shu son orasidagi sonlarni qaytaradi.
  • Agar ikkita son bo’lsa birinchi va ikkinchi son orasidagi qiymatlarni qaytaradi.
  • Agar uchta argumintdan iborat bo’lsa uchinchi argument qadam vazifasida keladi.
a = list(range(5))
b = list(range(5, 20))
c = list(range(5, 20, 3))
print(a)
print(b)
print(c)

Misollar

1-misol

# 0 va 9 orasidagi sonlarni chiqarish
for i in range(10):
    print(i)

2-misol

# 4 va 9 orasidagi sonlarni chiqarish
for i in range(4, 9):
    print(i)

3-misol

# 0 dan 9 gacha bo’lgan sonlar yig’indisini hisoblash
s = 0
for i in range(10):
    s += i
print(s)

4-misol

# juft sonlarni chiqarish
for i in range(1, 10):
    if i % 2 == 0:
        print(i)

5-misol

# toq sonlarni chiqarish
for i in range(1, 10):
    if i % 2 == 1:
        print(i)

6-misol

# faktorialni hisoblash
n = int(input('n = '))
f = 1
if n == 0:
    print(1)
else:
    for i in range(1, n+1):
        f *= i
print(f)

7-misol

# mukammal son
n = int(input('n = '))
s = 0
for i in range(1, n):
    if n % i == 0:
        s += i
if s == n:
    print('mukkamal son')
else:
    print('Mukammal emas')

8-misol

# a gacha bo’lgan pifagor sonlarini chiqarish
a = int(input('a = '))
for i in range(1, a):
    for j in range(1, i):
        for k in range(1, j):
            if i * i == (j * j + k * k):
                print(k, j, i)

9-misol

# n sonini bo’luvchilarini chiqarish
n = int(input('n = '))
for i in range(1, n+1):
    if n % i == 0:
        print(i)

10-misol

# sonlarni teskari tartibda chiqarish
for i in reversed(range(10)):
    print(i)