Python给出了阶乘的奇怪值

时间:2017-05-03 13:03:22

标签: python python-3.x factorial

x = 5

def SsolGom():
  k = 1
    for i in range( 1 , x+1 ):
       k = k * i

print(SsolGom)

=函数SsolGom位于0x00F1B660

120必须出来,但奇怪的价值出来......

3 个答案:

答案 0 :(得分:1)

SsolGom是一个函数,SsolGom()是此函数返回的值。它与数学类似:sin是一个函数,sin(0)是一个数字。

x = 5

def SsolGom():
    k = 1
    for i in range( 1 , x+1 ):
       k = k * i
    return k

print(SsolGom())
# 120

您需要在函数内部使用正确的缩进,并且需要返回一个值。否则SsolGom()将是None

请注意,x可能不应该是全局变量。否则,您的功能可以替换为return 120

def factorial(x):
    k = 1
    for i in range(x):
       k = k * (i + 1)
    return k

print(factorial(5))

最后,这是在Python中获得factorial的最简单方法:

>>> from math import factorial
>>> factorial(5)
120

答案 1 :(得分:0)

您错过了括号。它应该是:

print(SsolGom())

答案 2 :(得分:0)

  1. 您正在打印没有括号的函数。调用带括号和不带括号的函数会在Python中产生不同的结果。如果您不提供括号,Python会将其视为属性而不是方法/函数。因此你得到了那个结果

  2. 在函数中提供return语句。

  3. 更新代码:

    var xhr = new XMLHttpRequest();
    xhr.addEventListener("load", function (response) {
        // add response.responseText to the DOM
    });
    xhr.open("GET", "/some/url/?id=" + selectedId);
    xhr.send();