Устранение неполадок простой функции суммирования
Я хочу создать f(n) для Sn = n(n+1)/2. Имеет ли это смысл? Я чувствую себя ботаником!
Вот что я написал:
def f(x):
sum=n(n+1)/2
print(sum)
2 ответа
Несколько проблем с вашим кодом:
- Языки программирования не знают математического соглашения об исключении символа умножения.
- Вы должны держать свои имена переменных согласованными.
- Вы должны использовать целочисленное деление, так как
n
является целым числом и, следовательно, также сумма. - Не использовать
sum
как имя переменной, так как она делает встроенную функциюsum()
недоступны. - Вы, вероятно, не хотите печатать результат в функции, но возвращаете его вызывающей стороне.
Вместо
def f(x):
sum=n(n+1)/2
print(sum)
тебе нужно написать
def f(n):
return n*(n+1)//2
а затем сделать что-то вроде print(f(100))
,
Вы могли бы сделать что-то вроде этого
def f(n):
sum=(n*(n+1))/2
return sum
Обратите внимание: - return должен заменить print в функциях. Тем не менее, return должен быть последним, что делает ваша функция. Что-нибудь после возврата приведет к ошибке.
Теперь вы можете вызвать свою функцию и отправить входные данные следующим образом:
print(f(5)) #eg. 5