for циклі
Теория
while синтаксисі
while шарт:
# қайталанатын код
# шартты өзгертетін әрекет (әйтпесе шексіз цикл)
Мысал
count = 0
while count < 5:
print(count)
count += 1 # маңызды!
For және while салыстыру
- For – белгілі саны бар цикл (мысалы, тізім бойынша немесе range арқылы).
- While – белгісіз саны, шартқа байланысты (пайдаланушы енгізуін күту, шарт орындалғанша).
Пайдаланушы енгізуін бақылау
while True:
age = input("Жасыңызды енгізіңіз (сан): ")
if age.isdigit():
age = int(age)
break
else:
print("Қате! Тек сан енгізіңіз.")
print(f"Сіз {age} жастасыз")
Шексіз цикл және одан құтылу
Шексіз цикл (INFINITE LOOP) – қауіпті! Дұрыс жолы - break қолдану.
# Шексіз цикл
# while True:
# print("мен тоқтамаймын")
# Дұрыс жолы - break
counter = 0
while True:
print(counter)
counter += 1
if counter >= 5:
break
# Ойын мысалы (компьютер санды ойлайды)
import random
secret = random.randint(1, 10)
while True:
guess = int(input("Болжаңыз (1-10): "))
if guess == secret:
print("Дұрыс!")
break
else:
print("Қайтадан...")
while-else
else – цикл break арқылы тоқтатылмаса орындалады.
n = 5
while n > 0:
print(n)
n -= 1
else:
print("Цикл табиғи аяқталды")
# Егер break болса, else орындалмайды
x = 10
while x > 0:
if x == 5:
break
print(x)
x -= 1
else:
print("орындалмайды")
Мысалдар
# Санның цифрларының қосындысы
num = int(input("Сан: "))
sum_digits = 0
while num > 0:
digit = num % 10
sum_digits += digit
num //= 10
print(f"Цифрлар қосындысы: {sum_digits}")
# Кері санақ
n = int(input("Кері санақ бастау: "))
while n >= 0:
print(n)
n -= 1
print("Баста!")
# Күрделі процент (баланс екі еселенгенше)
balance = 1000
rate = 0.05
years = 0
while balance < 2000:
balance += balance * rate
years += 1
print(f"{years} жылдан кейін баланс {balance:.2f}")