Устранение неполадок простой функции суммирования

Я хочу создать 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
Другие вопросы по тегам