@System04

Как сделать цикл в lambda?

Функция, возвращающая TRUE, если аргумент является простым числом и FALSE, если нет. Используя lambda вывести все простые числа от N1 до N2, передаваемые словарем (**)

Написал:
N1 = int(input('Перше число: '))
N2 = int(input('Останнє число: '))
d = {'N1': N1, 'N2': N2}
add = lambda N1, N2: [i for i in range(N1, N2+1) if ]
print(*add(**d))


Мне сделать двойной цикл и кинуть условие, или как?
  • Вопрос задан
  • 1269 просмотров
Пригласить эксперта
Ответы на вопрос 1
YOin
@YOin
Data Analyst
Просто добавляете условие проверки простых чисел, радуетесь результату.

def is_prime(a):
    if a < 2:
        return False
    for i in range(2, int(a ** 0.5 + 1)):
        if a % i == 0:
            return False
    else:
        return True


add = lambda N1, N2: [i for i in range(N1, N2) if is_prime(i)]


Если не нравиться функция по поиску простых чисел
Гугл всегда поможет в оптимальном решении
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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