Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';我不知道如何计算用户输入的整数到阶乘_Python_Python 3.x_Factorial - Fatal编程技术网

Python Can';我不知道如何计算用户输入的整数到阶乘

Python Can';我不知道如何计算用户输入的整数到阶乘,python,python-3.x,factorial,Python,Python 3.x,Factorial,我在九月份开始了一门Python入门课程,我几乎跟不上。这周的作业让我感到很苦恼。我得到了老师的帮助,所以我有点理解了,但这对我来说并不合适。这周我做了很多修改,所以我的代码看起来比以前更好了,但我仍然不明白我做错了什么 它不是为n创建阶乘,而是将n显示为用户的输入值。我尝试在不同的行上输入阶乘(n),它只会给我一个EOF错误。有人能解释一下我做错了什么吗?我认为我需要调用阶乘函数,但我似乎无法正确格式化它 def factorial(n): if n==0: retur

我在九月份开始了一门Python入门课程,我几乎跟不上。这周的作业让我感到很苦恼。我得到了老师的帮助,所以我有点理解了,但这对我来说并不合适。这周我做了很多修改,所以我的代码看起来比以前更好了,但我仍然不明白我做错了什么

它不是为n创建阶乘,而是将n显示为用户的输入值。我尝试在不同的行上输入阶乘(n),它只会给我一个EOF错误。有人能解释一下我做错了什么吗?我认为我需要调用阶乘函数,但我似乎无法正确格式化它

def factorial(n):
    if n==0:
        return 1
    else:
        recurse = factorial(n-1)
        result = n * recurse
        return result




done=False
while not done:
    n=input('Enter a Positive Integer \n>>>')
    try:
        n=int(n)
        if n>=0:
            done=True
    except:
        print('try again')

print('n is ', n)

为了得到n的阶乘,需要调用函数。 例如:res=factorial(n)

简单修复

def factorial(n):
    if n==0:
        return 1
    else:
        recurse = factorial(n-1)
        result = n * recurse
        return result




done=False
while not done:
    n=input('Enter a Positive Integer \n>>>')
    try:
        n=int(n)
        if n>=0:
            done=True
    except:
        print('try again')

print('n is ', factorial(n))

你说你“尝试过在不同的行上输入阶乘(n)”-你能给我们举一个你认为最有可能成功的尝试的例子吗?这给了你什么结果?你期望什么?这回答了你的问题吗?好的,谢谢。我只是没有在print语句中应用函数,我对python还是非常陌生。新手出错请不要将
factorial()
函数调用的结果存储在名为
factorial
的变量中!