如何修复语法错误:can';在Python上,t赋值给literal
我是Python的完全初学者,所以在学习Python函数的同时 我试图写一个函数来计算阶乘 但我一直有一个错误: SyntaxError:无法分配给文字 我试着输入一个变量,但没有效果,但我知道什么,我只是一个初学者。非常感谢你的帮助如何修复语法错误:can';在Python上,t赋值给literal,python,function,factorial,Python,Function,Factorial,我是Python的完全初学者,所以在学习Python函数的同时 我试图写一个函数来计算阶乘 但我一直有一个错误: SyntaxError:无法分配给文字 我试着输入一个变量,但没有效果,但我知道什么,我只是一个初学者。非常感谢你的帮助 def factorial(n): result = 1 if(n==0 | n==1): return 1 else: for 2 in n: result = n* factor
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)
仔细阅读循环,你的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
用于2英寸n
。循环不是这样工作的。您正在为文本2
分配一些您无法执行的操作。对于范围(2)中的n,您可能需要类似的:
|
在Python中并不意味着或
,它是按位或。正确的语法是
if(n==0 or n==1)
这不是真正的问题though@Skirrebattie我重读了一遍,意识到这里真正的问题是你不能用
表示n中的2:
你可以用表示n中的x:
,因为2是整数,不能赋值为变量。表示你想做2=next(iter\n)
(等等)。
if(n==0 or n==1)