• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Задачка в Python

Alecs_2101

Member
21.01.2021
17
0
Вот по сути условие задачи: "Задача написать программу, отображающую нечетные числа и числа, делящиеся на 5, из набора чисел 1-50"
Python:
def odd_seq(a,n=5):
    if (n>50):
        return
    else:
        print(n,end=' ')
        odd_seq(50,n+5)
 
odd_seq(31)

Как сделать, чтобы отображались ещё и нечётные числа?
 
Вот по сути условие задачи: "Задача написать программу, отображающую нечетные числа и числа, делящиеся на 5, из набора чисел 1-50"
Python:
def odd_seq(a,n=5):
    if (n>50):
        return
    else:
        print(n,end=' ')
        odd_seq(50,n+5)

odd_seq(31)

Как сделать, чтобы отображались ещё и нечётные числа?
Python:
def odd_seq(a):
    for i in range(a):
        if i % 2 != 0:
            print(i)
        if i % 5 == 0:
            print(i)
    
odd_seq(31)

Выглядит не очень, но работает
 
Python:
def odd_seq(a):
    for i in range(a):
        if i % 2 != 0:
            print(i)
        if i % 5 == 0:
            print(i)
  
odd_seq(31)

Выглядит не очень, но работает
Ему до 50 надо, и дублить код будет, числа типо 5, 15 ( нечетные и те, что делятся на 5 одновременно)
Python:
def odd_seq(a):
    for i in range(a):
        if i % 2 != 0 or i % 5 == 0:
            print(i)
     
odd_seq(50)
чуть чуть подкорректировал ваш код
 
Ему до 50 надо, и дублить код будет, числа типо 5, 15 ( нечетные и те, что делятся на 5 одновременно)
Python:
def odd_seq(a):
    for i in range(a):
        if i % 2 != 0 or i % 5 == 0:
            print(i)
    
odd_seq(50)
чуть чуть подкорректировал ваш код
ну можно и так)
 
Если сразу с диапазоном, то:
Python:
for num in range(1, 51, 1):
    if (num % 2 != 0) or (num % 5 == 0):
        print(num)
 
Решение
Вот по сути условие задачи: "Задача написать программу, отображающую нечетные числа и числа, делящиеся на 5, из набора чисел 1-50"
Можно вот так
Python:
def odd_seq(a,n=5):
    return set([x for x in range(1, a + 1, 2)] + [x for x in range(1, a + 1) if str(x)[-1] in "05"])

odd_seq(31)

И второй вариант короче:
Python:
def odd_seq_2(a,n=5):
    return [x for x in range(1, a + 1) if str(x)[-1] in "05" or x % 2 != 0]

odd_seq_2(31)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab