Кратна ли цифра цифре слева?

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

Примеры

 divisible_by_left(73312) ➞ [False, False, True, False, True]
 # no element left to 7 = False
 # 3/7 = False
 # 3/3 = True
 # 1/3 = False
 # 2/1 = True
 divisible_by_left(1) ➞ [False]
 divisible_by_left(635) ➞ [False, False, False]

Примечание: массив всегда будет начинаться с False, поскольку слева от первой цифры ничего нет.

Варианты решений

def divisible_by_left(n):
    n = str(n)
    res = [False]
    for i in range(1,len(n)):
        if int(n[i-1]) == 0 or int(n[i]) % int(n[i-1]) != 0:
            res.append(False)
        else:
            res.append(True)
    return res
def divisible_by_left(n):

    Answer = []
    Answer.append(False)

    Text = str(n)

    First = 0
    Second = 1
    Length = len(Text)

    while (Second < Length):
	
        Top = int(Text[Second])
        Bottom = int(Text[First])
	
        if (Bottom == 0) or (Top % Bottom != 0):
            Answer.append(False)
            First += 1
            Second += 1
        else:
            Answer.append(True)
            First += 1
            Second += 1
	
    return Answer
python books logo

Английский для программистов

Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас

×