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