Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Simplified following a sugestion solution in Clear category for Digits Multiplication by dbirmajer
from typing import List
from functools import reduce
def product(ls: List[int]) -> int:
return reduce(lambda acc, x: acc * x, ls, 1)
def digits(n: int) -> List[int]:
ds = []
if n < 0:
n = -n
while (n > 0):
ds.append(n % 10)
n = n // 10
return ds
def checkio(number: int) -> int:
return product(x for x in digits(number) if x > 0)
if __name__ == '__main__':
print('Example:')
print(checkio(123405))
# These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(123405) == 120
assert checkio(999) == 729
assert checkio(1000) == 1
assert checkio(1111) == 1
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
Sept. 22, 2021