Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 当代码应该返回布尔值时,它返回“None”_Python_Python 3.x - Fatal编程技术网

Python 当代码应该返回布尔值时,它返回“None”

Python 当代码应该返回布尔值时,它返回“None”,python,python-3.x,Python,Python 3.x,但是,如果我将return替换为print,它将正确打印。我尝试了一个示例函数,而不是调用isFriendly,只接受一个数字,如果输入数字为1,则返回True,否则返回False,并返回正确的输出 感谢您的建议。您不会返回上一个else循环的任何内容。这就是为什么它一无所获。但是,您的列表l确实会被填充。 调用函数后,请尝试打印l而不是z。else没有返回任何内容。猜你的意思是返回是友好的。重复你想要达到的目标?else分支和friendly的意思是除==1之外的什么?你能更清楚地解释一下你的

但是,如果我将return替换为print,它将正确打印。我尝试了一个示例函数,而不是调用isFriendly,只接受一个数字,如果输入数字为1,则返回True,否则返回False,并返回正确的输出


感谢您的建议。

您不会返回上一个else循环的任何内容。这就是为什么它一无所获。但是,您的列表l确实会被填充。
调用函数后,请尝试打印l而不是z。

else没有返回任何内容。猜你的意思是返回是友好的。重复你想要达到的目标?else分支和friendly的意思是除==1之外的什么?你能更清楚地解释一下你的需求吗?第一个建议奏效了。谢谢
def divSum(number):
  divisors = [1]
  for i in range(2, number):
    if (number % i)==0:
      divisors.append(i)
  return sum(divisors)
l=[]
def isFriendly(x):
  if x==1:
    return False
  elif x in l:
    return True
  else:
    l.append(x)
    #x=divSum(x)
    isFriendly(divSum(x))

z = isFriendly(20)
print(z)