Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 5, 2022 10:33:14

robisho
Зарегистрирован: 2020-10-19
Сообщения: 60
Репутация: +  2  -
Профиль   Отправить e-mail  

условие в list comprehensions

Добрый день. Хочу разобраться, как в list comprehensions запихать условие.
Есть функция определения простых чисел.

 def issimple(n):  # функция определения простого числа
    for i in range(2, n):
        if n % i == 0:
            return False  # число не является простым  #
    return True  # простое число  #
k, llist = int(input()), []  # k-номер искомого простого числа
for i in range(2, k + 1):  # k=10001
    if issimple(i):
        llist.append(i)
print(llist)

Нужно запихать в list comprehensions условие из issimple(), ведь в llist добавляется только элемент, если перебор в цикле не выдал False.

Офлайн

#2 Ноя. 5, 2022 10:36:26

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2749
Репутация: +  184  -
Профиль   Отправить e-mail  

условие в list comprehensions

 [ x for x in range(2, k + 1) if issimple(x) ]



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Ноя. 5, 2022 10:38:47

robisho
Зарегистрирован: 2020-10-19
Сообщения: 60
Репутация: +  2  -
Профиль   Отправить e-mail  

условие в list comprehensions

Rodegast
не, ну так и я могу) спасибо, но нужно сделать без использования функции issimple() ))) вообще без объявления новых функций

Отредактировано robisho (Ноя. 5, 2022 10:40:09)

Офлайн

#4 Ноя. 6, 2022 04:31:34

robisho
Зарегистрирован: 2020-10-19
Сообщения: 60
Репутация: +  2  -
Профиль   Отправить e-mail  

условие в list comprehensions

в общем получилось так

 number = 100
[element for element in range(
        2, number + 1) if all(element % elem for elem in range(2, element))]

Отредактировано robisho (Ноя. 6, 2022 04:40:38)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version