ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 26
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лекция 6. Циклдік операторлар. for циклі
Бағдарлама құру кезінде бүтін сандар тізбегін (аралығын) алу қажеттігі жиі кездеседі.
Мұндай есепті шешу үшін Python тілінде сандар тізбегін жасайтын range() функциясы қолданылады. Функция аргумент ретінде келесілерді қабылдайды: аралықтың бастапқы мәнін (қалыпты жағдайда 0), соңғы мәнді (өзі кірмейді) және қадам (қалыпты жағдайда 1).
Функцияны шақырғанда нәтиже көрінбейді.
Мысалы:
>>> range(0, 10, 1)
range(0, 10)
>>> range(10)
range(0, 10)
Функция алдына list қызметші сөзі жазылса, онда тізім экранға шығады:
Мысалы:
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(2, 10, 2))
[2, 4, 6, 8]
Сандар аралығын алу үшін for циклін қолдану керек.
Кейбір бағдарламаларда белгілі бір шарттардың сақталуына тәуелді командалардың қандай да бір бөлігі бірнеше рет қайталанады. Мұндай әрекеттерді жүзеге асыратын командаларды цикл немесе қайталану командасы деп атайды.
Python бағдарламалау тілінде циклдің екі түрі бар:
1) for циклі
2) while циклі
for ..in операторы
for..in операторы цикл операторының бір түрі болып табылады.
Жалпы түрде for операторы көрсетілген тізімнің барлық элементін қарап шығады.
Жалпы түрі: for айнымалы in тізім:
цикл денесі
Мұнда нысан тізбегі бойынша итерация жүзеге асады, яғни тізбектің әрбір элементі бойынша жүреді. Тізбек – элементтердің реттелген тізбегі.
Мысалы:
for i in [1, 2, 'Text']:
print(i)
Нәтиже:
1
2
Text
for циклі жол үшін де жұмыс жасайды:
Мысалы:
for i in 'Text':
print(i)
Нәтиже:
T
e
x
t
Тізбек үшін көбінесе range() функциясы қолданылады:
Мысалы:
for i in range(1, 5):
print(i, end=' ')
else:
print('Цикл for аяқталды')
Нәтиже:
1 2 3 4 Цикл for аяқталды
range қондырылған функциясын қолданып, тізбек генерацияланады. Мысалы, range(1,5) функциясы [1, 2, 3, 4] тізбегін береді. Аралықтың соңғы мәні тізбекке кірмейді.
Қалыпты жағдайда range функциясының қадамы 1-ге тең. Егер үшінші сан берілсе, онда ол қадам болып табылады. Мысалы, range(1,5,2) функциясы [1,3] тізбегін береді.
Python тіліндегі for циклінің C++,C# бағдарламалау тіліндегі for циклінен айырмашылығы бар. Ол C# тіліндегі foreach цикліне ұқсас. C++ тіліндегі for (int i = 0; i < 5; i++) жолының жазылуы Python тілінде for i in range(0,5) жазылуына сәйкес келеді. Python тілінде for циклінің жазылуы басқа тілдерге қарағанда қарапайым болып табылады.
Мысалы:
for i in range(1,10):
print(i)
Нәтиже:
1
2
3
4
5
6
7
8
9
Егер жоғарыдағы бағдарлама төмендегіше жазылса, онда сандар бір жолға арасына бос орын қойылып шығады.
for i in range(0, 10, 1):
print(i, end=' ') # бір жолға шығару
Нәтиже:
0 1 2 3 4 5 6 7 8 9
Мәндерді белгілі бір қадаммен шығаруға болады.
for i in range(2, 20, 2):
print(i, end=' ')
Нәтиже:
2 4 6 8 10 12 14 16 18
Аралықты кері ретпен де шығаруға болады:
for i in range(20, 2, -2):
print(i, end=' ')
Нәтиже:
20 18 16 14 12 10 8 6 4
Циклді қолдануға мысалдар қарастырайық.
Мысал11. Екі таңбалы барлық жұп сандарды шығарыңдар.
for i in range(10, 100,2):
print(i)
Мысал12. Берілген санның көбейту кестесін шығарыңдар.
k=int(input("Сан енгіз "))
for i in range(1, 11):
p=k*i
print(k,'*',i,'=',p)
Нәтиже:
Сан енгіз
7
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
7 * 10 = 70
Мысал13. 1-ден 10-ға дейінгі сандардың қосындысы мен көбейтіндісін табыңдар.
s=0;p=1
for i in range(1,11):
s+=i; p*=i
print('s=',s,'p=',p)
Нәтиже:
s= 55 p= 3628800
Python- да жоғарыдағы қосынды табу бағдарламасын қысқаша жазуға да болады: print('s=',sum(list(range(1, 11))))
Нәтижеде экранға s= 55 мәні шығады.
Мұндағы, sum( (range(1, 11)))) – 1-ден 10-ға дейінгі сандар тізімінің қосындысы табады.
Сонымен, list функциясы берілген аралықтағы тізімді жасайды, sum функциясы тізім элементтерінің қосындысын табады.