for digit in a:
suma += int(digit)
mult *= int(digit)
print("Сумма:", suma)
print("Произведение:", mult)
Если добавить в код проверку, что извлеченный символ строки действительно является цифрой, то программа станет более универсальной. С ее помощью можно будет считать не только сумму и произведение цифр целых чисел, но и вещественных, а также цифр, извлекаемых из произвольной строки.
n = input()
suma = 0
mult = 1
for digit in n:
if digit.isdigit():
suma += int(digit)
mult *= int(digit)
print("Сумма:", suma)
print("Произведение:", mult)
Пример выполнения:
это3 чи3с9ло!
Сумма: 15
Произведение: 81
Строковый метод isdigit() проверяет, состоит ли строка только из цифр. В нашем случае роль строки играет одиночный, извлеченный на текущей итерации цикла, символ.
Глубокое знание языка Python позволяет решить задачу более экзотическими способами:
import functools
n = list(input())
n = [int(digit) for digit in n]
suma = sum(n)
mult = functools.reduce(lambda x, y: x*y, n)
Достарыңызбен бөлісу: |