Если вы хотите, чтобы ваш собственный код работал, вы можете просто добавить:
counter = 0
После условия while .Ошибка в вашем коде - приращение количества.То, что он делает, для одного цикла, он подсчитывает все хвосты в вашем списке и добавляет это к счетчику, затем, как эффект снежного кома, ЖЕ хвосты подсчитывались и добавлялись ОПЯТЬ для каждого последующего цикла.
Эта коррекция немного неэффективна, так как вы всегда очищаете значение счетчика, а затем снова начинаете считать.Если ваш список достигает больших значений индекса, это может замедлить ваш код.
Удачи!