Напишите функцию, которая будет принимать число 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