@BalalaikaStar

Пытаюсь найти ошибку в коде. Почему «otv» всегда определяется как нечетное?

def collatx(number):
    summznach = number % 2
    otv = number
    ColVo=0
    while otv != 1:
        ColVo=ColVo+1
        if summznach == 0:
            otv = otv / 2
        else:
            otv = 3 * otv + 1 
        print (otv)

collatx(129)
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
@molekulyarniy
суммаЗнач никогда не меняется в цикле. При collatx(129) оно никогда не будет == 0. Отв никогда не будет равняться 1, поэтому цикл бесконечен. При collatx(129) Отв никогда даже и не стремится к 1, оно каждый раз только увеличивается
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mkone112
Начинающий питонист.
10 строк кода - пройтись по ним дело 15 минут. Ну а если не можешь - то это отличная возможность познакомиться с дебаггером. И господи...это что...транслит в именах?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы