无输出,当我运行我的代码

问题描述:

我运行此代码:无输出,当我运行我的代码

def fact(i): 
    j = 1 

    while i >= 1: 
     j = i * j 
     i -= 1 
i = input("input the number: ") 
print (fact(i)) 

,看到这样的输出:

input the number: 6 
None 

为什么我的输出None?哪里不对?

+2

你为什么不能,甚至复制并粘贴* “无” *?你没有结果,因为*你没有任何'返回'。* – jonrsharpe

您正在打印的功能结果。为了使函数返回结果,您必须使用return语句。如果您不返回任何内容,则该功能将自动返回None。我怀疑你希望你的函数返回j,所以你需要添加return j到函数结束才能工作。

这应该工作:

def fact(i): 
    j = 1 
    while i >= 1: 
     j = i * j 
     i -= 1 
    return j 

i = input("input the number: ") 
print (fact(i)) 
+0

谢谢你,你是对的。 –