• Составить программу, которая будет менять все четные числа в списке (массиве) на 0 и нечетные числа на 1.
• Организовать введение данных в список с помощью цикла for i in range (n): (n – число, которое задает количество элементов в списке). Можно организовать введение чисел с помощью генератора случайных чисел или пользователем.
Ответы
import typing
from typing import Callable
from typing import AnyStr
from typing import Any
from typing import Iterable
from typing import List
def ListTransform(Data: List[Any], Tranformer: Callable[[Any], Any], Selector: Callable[[Any], bool] = lambda p: True):
'''Трансформирует элементы list, удовлетворяющие условию, в соответствии с заданным правилом
По умолчанию трансформирует все элементы'''
for index, item in enumerate(Data):
if (Selector(item)):
Data[index] = Tranformer(item)
return Data
def ReadSeq(SeqLen: int, CastType):
'''
Возвращает последовательность элементов в указанном типе, считанных с клавиатуры, заданной длины.
'''
try:
for _ in range(SeqLen):
yield CastType(input())
except TypeError:
raise RuntimeError(f'Unsupported type: {CastType}')
def main():
n = int(input())
Lst = list(ReadSeq(n, int))
def Filter(number):
if number % 2 == 0: return 1
else: return 0
print(*ListTransform(Lst, Filter))
if __name__ == "__main__":
main()