x = 5
def SsolGom():
k = 1
for i in range(1 , x+1):
k = k * i
print(SsolGom)
=功能SsolGom的奇怪值在0x00F1B660的Python给出阶乘
120得出来的,但奇怪的价值就出来了......
x = 5
def SsolGom():
k = 1
for i in range(1 , x+1):
k = k * i
print(SsolGom)
=功能SsolGom的奇怪值在0x00F1B660的Python给出阶乘
120得出来的,但奇怪的价值就出来了......
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的最简单的方法:
>>> from math import factorial
>>> factorial(5)
120
你错过了括号。它应该是:
print(SsolGom())
要打印不带括号的功能。使用和不使用括号调用函数在Python中给出了不同的结果。如果你不提供括号,Python认为它是属性而不是方法/函数。因此,你得到了结果
提供的功能return语句。
更新的代码:
x=5
def SsolGom():
k=1
for i in range(1 , x+1):
k=k*i
return k
print(SsolGom())
您还没有调用的函数....'打印(SsolGom())',你需要返回结果,例如'SsolGom()'的'return k'。但是你真的应该把'x'作为参数传递给'def SsolGom(x):...'和'print(SsolGcom(5))'。你还需要修正你的格式'k = 1'被错误地缩进,python会抱怨。 – AChampion
为什么你甚至试图写一个阶乘函数,如果1)你不知道如何调用它; 2)你让它完全无用,因为它不会让它有任何参数(所以,你总是计算相同数字的阶乘)?请先学习一些Python。 – ForceBru
函数在调用时应该返回一些东西。你的函数没有返回任何东西。 –