简单求和功能故障排除

时间:2018-07-06 05:47:06

标签: python sequences

我想为创建f(n) Sn = n(n + 1)/ 2。这有意义吗?我感觉像个书呆子!

这是我写的:

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

2 个答案:

答案 0 :(得分:1)

您的代码存在一些问题:

  • 编程语言不知道省略乘法符号的数学约定。
  • 您需要使变量名保持一致。
  • 您应该使用整数除法,因为n是整数,因此也是总和。
  • 请勿使用sum作为变量名,因为它会使内置函数sum()无法访问。
  • 您可能不想在函数中打印结果,而是将其返回给调用方。

代替

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

您需要写

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

然后执行类似print(f(100))的操作。

答案 1 :(得分:0)

您可以这样做

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

请注意: -返回应替换功能中的打印。尽管如此,返回应该是您函数执行的最后操作。 返回之后的所有内容都会产生错误。

现在,您可以按以下方式调用函数并向其发送输入:

print(f(5))  #eg. 5