Айдар Python тілінде натурал санның цифрларын талдайтын программа жазды. % амалы бөлгендегі қалдықты, ал // амалы бөлудің бүтін бөлігін береді. Программа a санын оқиды да, циклде оны соңынан бастап талдайды: соңғы d цифрын алады, содан кейін оны алып тастайды. Егер цифр жұп болса, ол s қосындысына қосылады, ал тақ болса, k есептегіші 1-ге артады. Соңында программа бірінші жолға s, екінші жолға k шығарады. Программаның мәтіні:
a = int(input())
s = 0
k = 0
while a > 0:
d = a % 10
if d % 2 == 0:
s = s + d
else:
k = k + 1
a = a // 10
print(s)
print(k)
Тексеру үшін Айдар әртүрлі сандарды енгізді, мысалы 52714 және 90310. Кейін ол программаны s тақ цифрлардың қосындысын жинайтындай, ал k жұп цифрларды санайтындай етіп өзгертуді ойлады.
90310 саны енгізілгенде while циклінің денесі неше рет орындалады?
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру
Дұрыс жауап
- A5
Талдау
a мәні былай өзгереді: 90310, 9031, 903, 90, 9, 0. a > 0 шарты алғашқы бес мәнге орындалады, демек цикл денесі 5 рет орындалады. Нөл цифрлар да өңделеді, олар қосындыға жай ғана 0 қосады.