Информатика, вопрос задал elfoxleo , 2 года назад

Произведение чисел.
Ваша задача — написать программу, которая перемножает все цифры, введенного пользователем целого числа, пока оно не станет меньше либо равной 9. Число вводит пользователь с клавиатуры, и оно всегда должно быть больше нуля.

Примеры
999 -> 2 # 999 -> 9 * 9 * 9 = 729 -> 7 * 2 * 9 = 126 -> 1 * 2 * 6 = 12 -> 1 * 2 = 2
1000 -> 0
423 -> 8
1 -> 1


Mikail2006: не вопрос, вот -->
Mikail2006: n = int(input())
while n > 10:
k = 1
for i in range(len(str(n))):
k *= int(str(n)[i])
n = k
print(k)
Mikail2006: n = int(input())
while n > 10:
____k = 1
____for i in range(len(str(n))):
________k *= int(str(n)[i])
____n = k
print(k)
Mikail2006: нижние подчёркивание - это пробелы
elfoxleo: не могу понять, почему с единицей выходит не так, как в примерах.
elfoxleo: всё работает кроме единицы
Mikail2006: n = int(input())
while n > 10:
____k = 1
____for i in range(len(str(n))):
________k *= int(str(n)[i])
____n = k
print(n)
Mikail2006: Да, исправил, теперь работает)
elfoxleo: Спасибо большое)
Mikail2006: :)

Ответы на вопрос

Ответил Mikail2006
4

Функция:

def number_multiplication(n):

   while n > 10:

       k = 1

       for i in range(len(str(n))):

           k *= int(str(n)[i])

       n = k

   print(k)

Вызов:

n = int(input())

number_multiplication(n)

Приложения:
Новые вопросы