【发布时间】:2018-01-13 19:02:32
【问题描述】:
如果n以外的n个因数总和为n,则程序需要返回true。我需要在运行时使用函数名。当我输入时
factors(45)
它表明存在未解释的令牌错误。请检查程序有什么问题。
def factors(n):#unexpected token error
factorlist = []
for i in range(1,n):
if n%i == 0:
factorlist = factorlist + [i]
return(factorlist)
def perfect(n):
if sum(factorlist) == n:
return(True)
else :
return(False)
【问题讨论】:
-
factorlist未在perfect(n)函数中引用。你可能想要factorlist = factors(n)吗? -
你可以在程序中进行更正吗?我无法得到它。我刚开始学习python。请
-
45不是完美的数字。所以,它返回False。 -
下面有人回答了。使用一个答案;)
-
您使用的是 Python 3 吗?如果是这样,要在运行时从用户那里读取一个数字,您可以执行
n = int(input('Enter number '))。
标签: python