Найти в Дзене

Задача: Генерация списка 2.0

Задача Сложность: ★✩✩✩✩ / ★★★★★ Пользователь вводит число n. Сгенерировать список data вида [1, 0, 1, 0, ...] в котором будет ровно n элементов. Примеры Решение Необходимо выполнить действие <добавить 1, добавить 0 в список> n//2 раз. Оператор // - целочисленное деление A // B - деление A на B без остатка (сколько в числе А числа B, например 8 // 3 = 2, сколько троек в восьмерке?) A, B - целые числа - A // B - всегда целое число Программа корректно работает со всеми четными числами - 2, 4, 6, … Но при тесте, например, n = 5 получим [1, 0, 1, 0] При n = 7 получим [1, 0, 1, 0, 1, 0] При нечетных n всегда получаем n-1 элементов в списке, причем не хватает всегда единицы (так как последний добавляемый элемент - 0) Усовершенствуем решение так, чтобы оно покрывало все тесты Оператор % - остаток от деления A % B - остаток от деления A на B. 10 % 3 = 1, 10 % 5 = 0 A, B - целые числа - A % B - всегда целое число С помощью % легко првереить четность числа. Если N % 2 == 0 -> N - четное, инач
Оглавление

Задача

Сложность: ★✩✩✩✩ / ★★★★★

Пользователь вводит число n.

Сгенерировать список data вида [1, 0, 1, 0, ...] в котором будет ровно n элементов.

Примеры

Решение

Необходимо выполнить действие

<добавить 1, добавить 0 в список> n//2 раз.

Оператор // - целочисленное деление
A // B - деление A на B без остатка (сколько в числе А числа B, например 8 // 3 = 2, сколько троек в восьмерке?)
A, B - целые числа - A // B - всегда целое число
-2

Программа корректно работает со всеми четными числами - 2, 4, 6, …

Но при тесте, например, n = 5 получим [1, 0, 1, 0]

При n = 7 получим [1, 0, 1, 0, 1, 0]

При нечетных n всегда получаем n-1 элементов в списке, причем не хватает всегда единицы (так как последний добавляемый элемент - 0)

Усовершенствуем решение так, чтобы оно покрывало все тесты

Оператор % - остаток от деления
A % B - остаток от деления A на B.
10 % 3 = 1, 10 % 5 = 0
A, B - целые числа - A % B - всегда целое число
С помощью % легко првереить четность числа.
Если N % 2 == 0 -> N - четное, иначе - нечетное
Также если A % B == 0, то A делится на B, иначе - нет
-3

Такое решение проходит все тесты

Решение с помощью цикла while

-4

Решение с помощью list comprehension

-5

Предлагайте свои решения в комментарии :)