Я хочу определить функцию, sumAll(n)
, что sums all numbers from 1 to n
.Получить сумму чисел, используя функцию и для цикла
Например, когда я звоню sumAll(10)
должен вернуть answer 55
...
Потому что:
1+2+3+4+5+6+7+8+9+10 = 55
sumAll
Функция должно использовать цикл для выполнения этого суммирования, и она будет иметь использовать переменную суммы, которая увеличивается по значению по каждой итерации цикла for.
У меня есть рабочая функция, которая не использует цикл for, но мне нужно знать, как использовать цикл for, чтобы это сделать.
Вот рабочая программа:
def sumAll(n):
if n == 0:
return 0
return n + sumAll(n - 1)
number = int(raw_input("Please enter a number: \n"))
print ("The answer is: ") + str(sumAll(number))
Как использовать «для» цикла для достижения этой цели? Я вправе предположить, что "for loop"
должен быть вложен в функцию "sumAll"
?
Я много раз, чтобы сделать это, используя цикл пытался, и я продолжаю получать infinite result and errors
...
Вот мой код:
def sumAll(n):
y = n + sumAll(n -1)
return y
num = int(raw_input("Please enter a number")
for n in range(num):
num = sumAll(num)
print num
Вы пытались использовать 'сумму()'? Или что-нибудь, что связано с циклом 'for'? –
См. [Учебник] (https://docs.python.org/3/tutorial/controlflow.html # for-statements) для примеров использования оператора '' '' for''' '(https://docs.python.org/3/reference/compound_stmts.html#for). – wwii
Вы серьезно придумали решение для рекурсии для этого, в комплекте с базовым корпусом, но вы не знаете, как добавить числа 1-10 в цикл for? –