Устранение неполадок простой функции суммирования - PullRequest
0 голосов
/ 06 июля 2018

Я хочу создать f (n) для Sn = n (n + 1) / 2.Имеет ли это смысл?Я чувствую себя ботаником!

Вот что я написал:

def f(x):
    sum=n(n+1)/2
    print(sum)

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Вы могли бы сделать что-то вроде этого

def f(n): 
    sum=(n*(n+1))/2 
    return sum

Обратите внимание, что: - return должен заменить print в функциях. Тем не менее, return должно быть последним, что делает ваша функция. Что-нибудь после return приведет к ошибке.

Теперь вы можете вызывать свою функцию и отправлять входные данные следующим образом:

print(f(5))  #eg. 5
0 голосов
/ 06 июля 2018

Несколько проблем с вашим кодом:

  • Языки программирования не знают математического соглашения об исключении символа умножения.
  • Вам необходимо сохранять согласованность имен переменных.
  • Вы должны использовать целочисленное деление, поскольку n - это целое число и, следовательно, также сумма.
  • Не используйте sum в качестве имени переменной, так как встроенная функция sum() становится недоступной.
  • Возможно, вы не хотите печатать результат в функции, а возвращаете его вызывающей стороне.

Вместо

def f(x):
    sum=n(n+1)/2
    print(sum)

нужно написать

def f(n):
    return n*(n+1)//2

и затем сделайте что-то вроде print(f(100)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...