Почему код не работает? Что с переменной f?

def a(x):
    i = 0
    while (10**i-1)%x != 0:
        i=i+1
        if i>100:
            return 0
    return i

f=3
while f < 100:
    print(a(f))
    f = f+1

Этот код должен писать остатки деления на сто. Но она выводит одни нули. Почему?


Ответы (1 шт):

Автор решения: Master's Time

Единственная проблема в том, что строка while (10**i-1)%x != 0: проблематичнa. Здесь i будет равен 0, и значит 10**i = 1, 1-1 =0 и 0%3 = 0. В строке i = 0 замените 0 на 1

→ Ссылка