Почему список перестает получать элементы после очищения?

Программа переводит число 71 в системы счисления от 4 до 100 и должна выводить полученные числа. В итоге программа выводит число только после перевода в систему счисления с основанием 4, а далее выводит пустые строки.

x = 71
for s in range(4,101):
    a = []
    while x > 0:
        m = x % s
        a.insert(0, str(m))
        x //= s
    a = ''.join(a)
    print(a)

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

Автор решения: Настя

Нужно x = 74 включить внутрь цикла for, так как вы первой итерацией for обнуляете x, и соответственно больше не входите в цикл while на следующий итерациях.

for s in range(4, 101):
    x = 71
    a = []
    while x > 0:
        m = x % s
        a.insert(0, str(m))
        x //= s
    a = ''.join(a)
    print(a)

→ Ссылка