Page 38 - Программирование. Python. Для школьников. bizdin.kg
P. 38
38 PYTHON ПРОГРАММАЛОО ТИЛИ ФУНКЦИЯЛАР
Мисалы, 123456789 санынын цифраларынын суммасы 45ке барабар. Сан
эки орундуу, демек дагы цифралардын суммасын табабыз: 4 + 5 = 9. 3кө
бөлүнгөн 9 санын алдык (9%3==0). Демек баштапкы 123456789 саны 3кө
бөлүнөт. Бул алгоритмден төмөнкү программага келебиз:
def sum(n):
sum = 0
while n>0:
sum += n % 10
n = n // 10
return sum
#негизги программа
k = int(input('Санды киргизиңиз: '))
while k > 9: #цифралардын суммасы бир цифра болгонго чейин
k = sum(k) #функцияны чакырабыз
if k%3==0:
print ('Сан 3кө бөлүнөт')
else:
print ('Сан 3кө бөлүнбөйт')
Функцияларды бир гана негизги программадан эле эмес башка функция-
лардан да чакырса болот. Мисалы, үч ар түрдүү сандардын ортосундагысын
(б.а. эки сандын ортосунда жайгашкан санды) табуучу функция мындай
аныкталышы мүмкүн:
def middle ( a, b, c ):
mi = min ( a, b, c )
ma = max ( a, b, c )
return a + b + c - mi – ma
Программа min жана max даяр функцияларын колдонду. Муну чыгаруунун
идеясы, эгер үч сандан максималдык жана минималдык санды кемитип
салса, так ошол үчүнчү сан калат дегенде.
Функция бир нече маанини кайтарышы да мүмкүн. Мисалы эки сан-
ды бөлүүдөн алынган тийиндини да, калдыкты да чыгаруучу программа
төмөнкүдөй жазылат:
def divmod ( x, y ):
d = x // y
m = x % y
return d, m
www.trk.kg