range(start, stop): start (қоса алғанда) пен stop (қоспағанда) аралығындағы бүтін сандарды қайтарады. Факториалды табуға арналған бағдарламада осы форма қолданылған.
range(start, stop, step): start (қоса алғанда) пен stop (қоспағанда) аралығында step қадаммен өсетін бүтін сандарды қайтарады.
range функциясын шақыру мысалдары:
range(5) # 0, 1, 2, 3, 4
range(1, 5) # 1, 2, 3, 4
range(2, 10, 2) # 2, 4, 6, 8
range(5, 0, -1) # 5, 4, 3, 2, 1
0-ден 4-ке дейінгі сандарды экранға шығарайық:
for i in range(5):
print(i, end=" ")
Кіріктірілген циклдер
Бір циклдің ішінде екінші цикл кіріктірілуі мүмкін. Көбейту кестесінің бағдарламасын қарастырайық:
for i in range(1, 10):
for j in range(1, 10):
print(i * j, end="\t")
print("\n")
Сонда келесі нәтижені аламыз:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
while циклінің жазылу форматы:
while шартты_өрнек:
инструкциялар
|
while кілттік сөзінен кейін шартты өрнек көрсетіледі және бұл өрнек True мәнін қайтарған сайын инструкциялар орындала береді.
while цикліне қатысты инструкциялардың барлығы азат жолдан басталу керек.
Мысал 1:
choice = "y"
while choice.lower() == "y":
print("Привет")
choice = input("Для продолжения нажмите Y, а для выхода любую другую клавишу: ")
print("Работа программы завешена")
|
Мысал 2 - факториалды есептеу:
#! Программа по вычислению факториала
number = int(input("Введите число: "))
i = 1
factorial = 1
while i <= number:
factorial *= i
i += 1
print("Факториал числа", number, "равен", factorial)
|
Мысал 3- 1-ден 10-ға дейінгі барлық сандардың квадраттарын шығару
i = 1
while i <= 10:
print(i ** 2)
i += 1
|
Натурал сандағы цифрлар санын анықтайтын бағдарлама құру
n = int(input())
length = 0
while n > 0:
n //= 10 # бұл мынаған сәйкес n = n // 10
length += 1
print(length)
|
Циклді басқару инструкциялары
Цикл денесінен кейін else сөзін жазып, тексерілетін шарт жалған болған кезде бір рет орындалатын операцияларын блогын жазуға болады:
i = 1
while i <= 10:
print(i)
i += 1
else:
print('Цикл аяқталды, i =', i)
|
Тапсырма: Екі есептің айырмашылығын түсіндіру
#1
a = int(input())
while a != 0:
if a < 0:
print('Теріс сан кездесті', a)
break
a = int(input())
else:
print('Бірде бір теріс сан кездескен жоқ')
|
#2
n = int(input())
for i in range(n):
a = int(input())
if a < 0:
print('Теріс сан кездесті', a)
break
else:
print('Бірде бір теріс сан кездескен жоқ')
|
Есеп №1. Бүтін сан енгізіледі. Осы сандағы раздядтар санын экранға шығару.
# Вводится число и преобразуется к целому
n = int(input())
# Находится абсолютное значение числа.
# Необходимо, если число окажется отрицательным
n = abs(n)
# Переменная для хранения количества разрядов.
# Хотя бы один разряд есть у всех целых чисел
count = 1
# Избавляемся от уже учтенного разряда,
# разделив число нацело на 10.
# Если число одозначное, то n станет равным 0,
# и цикл ниже выполняться не будет
n = n // 10
# Пока n больше нуля,
while n > 0:
# избавляться от очередного разряда,
n = n // 10
# учитывать его в счетчике
count = count + 1
# вывод на экран количества разрядов
print(count)
Сандарды керісінше жазу
Мысалы 3425 санын 5243 ретінде жазу
Алгоритмі:
Санды 10-ға бөліп, қалдығын табамыз. Осылайша, соңғы санды анықтаймыз.
Бұл цифрды жаңа санға қосамыз.
Бастапқы санды 10-ға бөліп бүтін бөлігін аламыз. Осылайша санның соңғы цифрынан құтыламыз.
Есеп №2. 5-тен 15-ке дейінгі тақ сандарды экранға шығару.
i = 5
Достарыңызбен бөлісу: |