Page 37 - Программирование. Python. Для школьников. bizdin.kg
P. 37
ФУНКЦИЯЛАР 37
Функциянын мааниси эмнеге барабар экендигин көрсөтүү үчүн артынан
маани-жыйынтыгы жазылган return (англ. кайтаруу) операторун колдону-
шат.
Жыйынтыгы сан, символ, символдук сап же каалагандай башка объект
болушу мүмкүн.
2-маселе. Сандын цифраларын кошууну эсептөөчү функцияны түзөлү
(мисалы, 147 саны үчүн сандарды кошуу керек: 1+4+7=12). Цифраларды
кошууну акыркысынан баштайлы, биздин мисалда бул 7 цифрасы.
1 Сандын акыркы цифрасын алуу үчүн, санды 10го бөлгөндөгү калдыгын
1
1 алуу керек (147 % 10 = 7).
1
2 Алынган калдыкты баштапкы мааниси нөлгө барабар болгон «сумма-
2 1
2 га» (sum = 0) кошобуз. Эми сумма 7ге барабар.
2
3
2
3
3 Андан соң биз бүтүн сандык бөлүү операторун колдонуп, сандын
3
4 акыркы цифрасын «бөлүп салабыз» (147 // 10 = 14).
3
4
4 14 > 0 болгондуктан биз циклдин башына кайрылабыз. Цикл n маани-
4
5
5 4 си нөлгө барабар болгонго чейин уланат.
5
5
5 Мындан кийин кайрадан 4 цифрасын бөлүп салабыз (14 % 10 = 4)
жана аны суммага кошобуз (4 +7 = 11).
6 Аны бардык сандан бөлүп алабыз (14 // 10 = 1).
6
7 Акыркы бир орундуу санды суммага кошобуз (11 + 1 = 12).
7
Жыйынтыгы: 12
8
8
Ушундай жол менен биздин программа төмөнкүдөй жазылат:
9
9
10 n = int(input('Санды киргизиңиз: '))
def digits_sum (n):
10
total = 0
while n > 0:
total += n%10
n = n // 10
return total
#негизги программа
print (digits_sum(n))
3-маселе. Берилген сандын цифраларынын суммасы 3кө бөлүнөөрүн же
бөлүнбөсүн аныктоочу программаны түзөлү. Ошондой эле эгер алынган
сумманын саны бир цифрадан көп болсо, анда сумма бир цифрадан тур-
ганча аракетти кайталатуу керек.
www.trk.kg