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
   32   33   34   35   36   37   38   39   40   41   42