Бесконечный цикл с накоплением суммы на основе случайного числа

Приведённый код уже выполняет условие: total создан до цикла и увеличивается на 2 для чётного числа, на 1 для нечётного. Сам цикл не завершается и ничего не выводит.

Короткий ответ

Что ответить на собеседовании

Приведённый код уже выполняет условие: total создан до цикла и увеличивается на 2 для чётного числа, на 1 для нечётного. Сам цикл не завершается и ничего не выводит.

Подробный разбор

Ответ с пояснениями

Условие

Нужно объявить переменную total до входа в цикл, после чего запустить бесконечный цикл, в котором генерируется случайное целое число. Если полученное число чётное, к total прибавляется 2, иначе — 1.

import random

total = 0
while True:
    value = random.randint(0, 100)
    if value % 2 == 0:
        total += 2
    else:
        total += 1

Ответ

Приведённый код уже выполняет условие: total создан до цикла и увеличивается на 2 для чётного числа, на 1 для нечётного. Сам цикл не завершается и ничего не выводит.

random.randint(0, 100) включает обе границы. На этом диапазоне 51 чётное и 50 нечётных чисел, поэтому вероятности двух ветвей немного различаются.

Python int не переполняется на фиксированной машинной границе, но число постепенно растёт. Для полезной программы обычно нужен способ остановки и выдачи результата; для эксперимента можно заменить while True на цикл с известным количеством шагов. Непрерывная генерация без ожидания нагружает процессор.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее