如何修复语法错误:不能在Python上赋值给literal

2024-09-19 12:28:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的初学者,所以在学习Python函数的同时。你知道吗

我想写一个函数来计算阶乘。你知道吗

但我一直有一个错误: SyntaxError:无法分配给literal

我试过输入一个变量,但没用,但我知道,我只是个初学者。非常感谢你的帮助。你知道吗

def factorial(n):
    result = 1
    if(n==0 | n==1):
        return 1

    else:
        for 2 in n:
            result = n* factorial(n-1)
        return result

factorial(5)

Tags: 函数inforreturnifdef错误result
2条回答

仔细阅读循环,你的for循环并没有真正意义。你要找的是这样的东西

def factorial(n):
    result = 1
    if(n==0 | n==1):
        return 1

    else:
        for i in range(1, n):
            result = n* factorial(n-1)
        return result

for 2 in n。循环不是这样工作的。您正在为文本2分配一些您不能执行的操作。你可能想要for n in range(2):https://www.w3schools.com/python/python_for_loops.asp

if(n==0 | n==1)

|在Python中并不意味着or,它是一个按位或。正确的语法是

if(n==0 or n==1)

https://wiki.python.org/moin/BitwiseOperators

相关问题 更多 >