Ниже моя задача
- Определить функцию even_or_odd, которая принимает целое число в качестве входных данных и возвращает строку четного и нечетного, если заданное число является четным и нечетным соответственно.
- Разделите числа в списке n = [10, 14, 16, 22, 9, 3, 37] на две группы, а именно на четные и нечетные на основе определенной выше функции. Подсказка: используйте метод groupby модуля itertools.
- Переберите полученный объект groupby и напечатайте его имя группы и список элементов, связанных с группой.
Я написал код ниже : я получаю сообщение об ошибке 'str' объект не вызывается. На самом деле я не уверен, как использовать itertool groupby (), получая значения из функции. Кто-нибудь может направить меня?
from itertools import groupby
def even_or_odd(r):
for i in r:
if i%2 == 0:
return "even"
else:
return "odd"
n = [10, 14, 16, 22, 9, 3 , 37]
for key, group in groupby(n, even_or_odd(n)):
if key == even:
print(key, list(group))
else:
print(key, list(group))