Не работает append
Столкнулся с проблемой: у меня есть пустой список, и я хочу добавить туда полученные значения, но ничего не происходит
s = 18 * 7**108 - 6 * 49**76 + 343**35 - 50
a = []
while s > 0:
a.append(s % 49)
s = s // 49
print(a)
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Если "ничего не происходит" и список остаётся пустым, достаточно было вывести для отладки значение s
перед циклом для самопроверки:
s = 18 * 7**108 - 6 * 49**76 + 343**35 - 50
print("Debug: s =", s)
a = []
while s > 0:
a.append(s % 49)
s = s // 49
print(a)
Вывод:
Debug: s = -1710225322544356890637162056997157202150754333661885192406235127070375267726125394233938882595060293508573840518708288323982944031
[]
или же воспользоваться else
после цикла для обнаружения подобной ситуации:
# ...
while s > 0:
a.append(s % 49)
s = s // 49
if s == 0:
break
else:
print("Invalid s =", s)
Invalid s = -1710225322544356890637162056997157202150754333661885192406235127070375267726125394233938882595060293508573840518708288323982944031
[]
Но в целом достаточно было бы определить знак исходного выражения, приведя его члены к единому основанию 7:
6 * (3 * 7108 - 72 * 76) + 73 * 35 - 50 = 6 * (3 * 7108 - 7152) + 7105 - 50 ≪ 0