Уведомления

Группа в Telegram: @pythonsu

#1 Июль 7, 2019 18:46:57

avelec
Зарегистрирован: 2019-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Простая задача

Здравствуйте, я на начальных этапах изучения

Есть задачка, застопорился на 4 пункте:
Есть 2 числа N и K
1) Если N меньше 20 - возвращаем 0
2) Если N больше/равно 20 - получаем range от 1 до числа N
3) вычленяем из ренджа только чётные
4) возводим четные числа в степень K
5) считаем сумму этих четных чисел и возвращаем результат

Подскажите как продолжить? До 3 пункта вроде всё ровно

 n = 15
k = 2
def my_function(n, k):
    if n > 20:
        return 0
    if n <= 20:
        total_num = 0
        for num in (range(1, n)):
            if num % 2 == 0:
                num = num ** k
                return 
                
z = my_function(n, k)
print(z)                

Офлайн

#2 Июль 8, 2019 09:18:10

avelec
Зарегистрирован: 2019-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Простая задача

Допёр

 # Если N больше 20 - ретёрн 0
# Если меньше/равно 20 - получаем range от 1 до числа N
# вычленяем только чётные
# возводим четные числа в степень K
# считаем сумму этих четных чисел
n = 18
k = 2
def my_function(n, k):
    total_num = 0       
    if n > 20:
        return 0 # больше 20 - возвращаем 0
    if n <= 20:  # меньше 20 - range от 1 до числа N
        for num in (range(1, n)):
            if num % 2 == 0: # только четные
                total_num = total_num + (num ** k) # умножаем четное число на степень К и складываем результаты             
    return(total_num) # возвращаем результат
my_function(n, k)

Офлайн

#3 Июль 8, 2019 10:32:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Простая задача

avelec
Есть 2 числа N и K
1) Если N меньше 20 - возвращаем 0
2) Если N больше/равно 20 - получаем range от 1 до числа N
3) вычленяем из ренджа только чётные
4) возводим четные числа в степень K
5) считаем сумму этих четных чисел и возвращаем результат
  
>>> def f(n, k):
...     if n < 20:
...         return 0
...     else:
...         return sum(i ** k for i in range(1, n + 1) if i % 2 == 0)
... 
>>> f(15, 2)
0
>>> f(25, 2)
2600
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version