Білім беру бағдарламасының атауы мен шифры 6В01503 Информатика Пән циклы атауы және коды



бет6/17
Дата09.06.2023
өлшемі114,76 Kb.
#99922
түріБілім беру бағдарламасы
1   2   3   4   5   6   7   8   9   ...   17
7. Лямбда функциялар
Жоспар

  1. Функция аргументтерінің қолданылуы

  2. Рекурсия

  3. Лямбда функциялар

Функция денесі функцияның өзін шақыруы мүмкін, немесе бұл жағдайды рекурсия деп атаймыз.
Есеп 1. Алғашқы n Фибоначчи тізбегін анықтайтын программа жазамыз. Тізбек үшін рекурсияны қолданамыз.
# *coding: utf-8*
import math
def Fib(n):
if n==1 or n==2:
return(1)
else:
return(Fib(n-1)+Fib(n-2))
# негізгі программа
m=int(input())
for i in range(1,m+1):
print(Fib(i),end=" ")
Есеп 2. N бүтін саны және 1..N тізбегі берілген. Тізбектегі «палиндром» сандарды анықтаңыз. «Палиндром» санды анықтауға функция құрыңыз. Коды:
def polindr(n):
p=False
b=n
s=0
while n>0:
sf=n % 10
s=s*10+sf
n=n// 10
if b==s:
p=True
else:
p=False
return(p)
#negizgi
m=int(input())
for i in range(10,m+1):
if polindr(i):
print(i)
Python тілінде функцияның бір ерекшелігі- функция атауы анықталмай құрылуы мүмкін. Мұндай функцияларды Лямбда –функциялар деп атайды.
Қолданылуы:
1. Лямбда функциялар басқа функцияның аргументі болуы мүмкін;
2. Басқа функцияның нәтижесі ретінде қайтарылуы мүмкін;
3. Функция бірнеше рет қолданылуы мүмкін.
Лямбда функцияның анықталуы:
lambda аргументтер:нәтижелер
Есеп 4. F(x,y) функциясының мәнін аргументтің әртүрлі мәндерінде есептеу керек. Мұндағы фунция:
F(x,y)= xy +x2 +y2
# *coding: utf-8*
import math
def fun1(f,x,y):
print("x=",x,"y=",y, "f(x,y)=",f(x,y))
my_fn=lambda x,y:x*y +pow(x,2)+pow(y,2)
# негізгі программа
fun1(my_fn, 2, 3)
my_fn айнымалысына лямбда функцияға сілтеме меншіктеліп тұр.
лямбда функция - функция аргументі түрінде берілуі мүмкін:
fun1(lambda x,y:x*y +pow(x,2)+pow(y,2), 1,4)
лямбда функция өрнекте қолданылуы мүмкін:
z=1+(lambda x,y: x*y +pow(x,2)+pow(y,2))(1,3)**2
# *coding: utf-8*
import math
def fun1(f,x,y):
print("x=",x,"y=",y, "f(x,y)=",f(x,y))
my_fn=lambda x,y:x*y +pow(x,2)+pow(y,2)
# негізгі программа
fun1(my_fn, 2,3)
fun1(lambda x,y:x*y +pow(x,2)+pow(y,2), 1,4)
z=1+(lambda x,y: x*y +pow(x,2)+pow(y,2))(1,3)**2
print('z=',z)




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   17




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет