Sikl arxitekturasi, range() generatori va sonlar yig‘indisi
9-sinfAdvanced Back-end va DevOps3-hafta · 7-darsBir xil kodni qayta yozishdan qutulish va sikl anatomiyasi
start, stop, step parametrlarining ishlash mexanizmi
[1, N] intervaldagi sonlar yig‘indisini topish algoritmi
10 marta print() yozish o‘rniga 2 qatorli for sikli
100 ta o‘quvchining bahosini bitta akkumulyatorda jamlash
5×1 dan 5×10 gacha qo‘lda yozmasdan avtomatlashtirish
Boshlanish, takrorlanish sharti va hisoblagich
start, stop va step parametrlari
Rasmiy qo'llanmadagi 1.34-rasm sintaksisi
# 1. 0 dan 4 gacha chiqarish
for i in range(5):
print(i, end=" ") # 0 1 2 3 4
# 2. 1 dan 5 gacha chiqarish
for i in range(1, 6):
print(i, end=" ") # 1 2 3 4 5
# 3. 2 qadam bilan yurish
for i in range(0, 11, 2):
print(i, end=" ") # 0 2 4 6 8 10
[1, N] intervaldagi sonlar yig‘indisini hisoblash
Rasmiy qo'llanmadagi 1.40-rasm dasturi
n = int(input("N sonini kiriting: "))
s = 0
# n soni ham hisobga olinishi uchun n + 1 gacha
for i in range(1, n + 1):
s += i
print(f"1 dan {n} gacha sonlar yig'indisi: {s}")
# Agar n = 10 bo'lsa, natija: 55
son = 7
print(f"--- {son} ning karra jadvali ---")
for i in range(1, 11):
natija = son * i
print(f"{son} x {i} = {natija}")
for i in range(1, 11): 10 ta qatordan iborat to'liq jadvalni bir zumda chizadi!
# Xato: har safar chop etadi
for i in range(1, 6):
s += i
print(s) # 1, 3, 6, 10, 15!
# To'g'ri:
for i in range(1, 6):
s += i
print(s) # faqat 15
# Xato
range(1, 10, 0)
# ValueError: arg 3 must not be zero
# Qadam hech qachon 0 bo'lmaydi!
Vaqt: 15 daqiqa · Darajalar bo‘yicha
1 dan 15 gacha bo‘lgan barcha sonlarni for orqali bitta qatorda chiqaring.
0 dan 30 gacha bo‘lgan barcha juft sonlarni range(0, 31, 2) bilan chiqaring.
1 dan 50 gacha bo‘lgan barcha sonlar yig‘indisini hisoblang va konsolga chiqaring.
Quyidagi kod konsolga nima chiqaradi?
for i in range(1, 4):
print(i * 2, end=" ")
2 4 6 (chunki i = 1, 2, 3 bo'ladi va har biri 2 ga ko'payadi)
Takrorlanish soni oldindan ma'lum bo'lganda eng yaxshi tanlov
range(start, stop, step) — stop qiymati kirmaydi!
s = 0 akkumulyatori va s += i orqali natijalarni to'plash
Keyingi dars: while sikli va break / continue operatorlari
9-sinfAdvanced Back-end va DevOps