Форум сайта python.su
0
Здравствуйте, я на начальных этапах изучения
Есть задачка, застопорился на 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)
Офлайн
0
Допёр
# Если 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)
Офлайн
857
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 >>>
Офлайн