Найти - Пользователи
Полная версия: Простая задача
Начало » Центр помощи » Простая задача
1
avelec
Здравствуйте, я на начальных этапах изучения

Есть задачка, застопорился на 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)                
avelec
Допёр

 # Если 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)
py.user.next
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
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB