Page 39 - Программирование. Python. Для школьников. bizdin.kg
P. 39
ФУНКЦИЯЛАР 39
Функциянын жыйынтыгын эки ар түрдүү өзгөрмөлөргө жазса болот:
a, b = divmod ( 7, 3 )
print ( a, b ) #2 1
Эгерде бир эле өзгөрмөнү көрсөтсөк, биз кортежди алабыз – тегерек
кашаага алынган элементтердин катары:
q = divmod ( 7, 3 )
print ( q ) #(2, 1)
Кээде программада бир эле жолу колдонулуп жана бир нече аргумен-
ти менен анча татаал эмес аракеттерди аткарган функцияны түзүү үчүн
lambda-функцияларды колдонушат. lambda-функция бул анонимдик
функция, б.а. def сыяктуу өзүнүн атына ээ эмес. Функциянын жазылышы
lambda сөзүнөн башталат жана бош орундан кийин функциянын аргумент-
тери көрсөтүлөт. Андан соң кош чекиттен кийин жыйынтыгы функцияда
кайтарылган амалдар көрсөтүлөт. Мындай функцияны эки санды көбөйтүү
мисалында карайлы:
multiple = lambda x, y: x * y #2 аргументи менен lambda-функция
print (multiple (2, 5)) #жыйынтык 10
Жогорку мисалда биз lambda-функцияны multiple өзгөрмөсүнө ыйгардык.
Бирок мындай функцияны бир сап менен эле өзгөрмөнү колдонбостон да
жазсак болот:
print ((lambda x, y: x * y)(2, 6))
Программалоодогу негизги көндүмдүрдүн бири – бул бир эле кодду бир
нече жолу жазбоо болуп саналат. Качан код кайталана баштаса, бул кайта-
ланган коддун бөлүгүн функцияга айлантуу керектигин түшүнүш керек.
КОМПЬЮТЕРДИК ПРАКТИКУМ:
1) 3 берилген санды өсүү тартибинде экранга чыгаруучу функцияны
жазгыла.
2) Эки натуралдык сандын эң чоң жалпы бөлүүчүсүн табуучу фукцияны
жазгыла.
3) Сандардын төмөнкүдөй белгилерин чыгаруучу функцияны жазгыла:
кайтарылган жыйынтыгы менен аргументи бүтүн сан болуш керек, 0
– эгерде аргумент 0 болсо, 1 эгер сан терс болсо, 1 – эгер сан оң болсо.
www.trk.kg