Найти площадь и периметр прямоугольного треугольника по двум заданным катетам



бет11/34
Дата05.01.2022
өлшемі186,75 Kb.
#129167
1   ...   7   8   9   10   11   12   13   14   ...   34
Байланысты:
шпор

Код программы на языке Python

n = int(input())

 

suma = 0


mult = 1

 

while n > 0:

digit = n % 10

suma = suma + digit

mult = mult * digit

n = n // 10

 

print("Сумма:", suma)

print("Произведение:", mult)

Пример выполнения:

253

Сумма: 10



Произведение: 30

Изменение значений переменных можно записать в сокращенном виде:

...

while n > 0:

digit = n % 10

suma += digit

mult *= digit

n //= 10

...


Приведенная выше программа подходит только для нахождения суммы и произведения цифр натуральных чисел, то есть целых чисел больше нуля. Если исходное число может быть любым целым, следует учесть обработку отрицательных чисел и нуля.

Если число отрицательное, это не влияет на сумму его цифр. В таком случае достаточно будет использовать встроенную в Python функции abc(), которая возвращает абсолютное значение переданного ей аргумента. Она превратит отрицательное число в положительное, и цикл while с его условием n > 0 будет работать как и прежде.

Если число равно нулю, то по логике вещей сумма его цифр и их произведение должны иметь нулевые значения. Цикл срабатывать не будет. Поскольку исходное значение mult - это 1, следует добавить проверку на случай, если заданное число - это ноль.

Программа, обрабатывающая все целые числа, может начинаться так:

n = abs(int(input()))

 

suma = 0



mult = 1

if n == 0:

mult = 0


...

Заметим, если в самом числе встречается цифра 0 (например, 503), то произведение всех цифр будет равно нулю. Усложним задачу:



Вводится натуральное число. Найти сумму и произведение цифр, из которых состоит это число. При этом если в числе встречается цифра 0, то ее не надо учитывать при нахождении произведения.

Для решения такой задачи в цикл добавляется проверка извлеченной цифры на ее неравенство нулю. Делать это надо до умножения на нее значения переменной-произведения.

n = int(input())

 

suma = 0



mult = 1

 



Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   34




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет