Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 我没有';我不理解while循环的问题_Python_Loops_While Loop - Fatal编程技术网

Python 我没有';我不理解while循环的问题

Python 我没有';我不理解while循环的问题,python,loops,while-loop,Python,Loops,While Loop,这个问题的期望是:返回一个数的所有除数之和,但不包括它 我已经看到了这个问题以及它是如何解决的。但事实上,我一次又一次的复习都没能得到它。其中一个主要问题是,我不能清楚地理解这个问题。我希望有人能用一种简单的方式向我解释这个问题和解决方案 编辑:我只是在这里复制了我的代码,而不是图像。谢谢你的警告 def sum_divisors(n): sum = 1 # Return the sum of all divisors of n, not including n div = 2

这个问题的期望是:返回一个数的所有除数之和,但不包括它

我已经看到了这个问题以及它是如何解决的。但事实上,我一次又一次的复习都没能得到它。其中一个主要问题是,我不能清楚地理解这个问题。我希望有人能用一种简单的方式向我解释这个问题和解决方案

编辑:我只是在这里复制了我的代码,而不是图像。谢谢你的警告

def sum_divisors(n):
  sum = 1
  # Return the sum of all divisors of n, not including n
  div = 2
  if n == 0:
    return 0
  
  while div < n/2+1:
    if n % div == 0:
      sum += div
    div += 1
return sum

print(sum_divisors(6)) # Should be 6 (sum of 1+2+3)
print(sum_divisors(12)) # Should be 16 (sum of 1+2+3+4+6)
def和除数(n):
总和=1
#返回n的所有除数之和,不包括n
div=2
如果n==0:
返回0
当div对于这个和,首先你必须只考虑把给定数完全除数的数字。这将介于1到给定数字的一半之间。例如,如果给定的数字是100,任何大于50的数字都不能将其完全除开,因此循环在1到50之间运行,包括50。

如果n mod该数字为0,则此循环检查每个数字。如果n mod div==0,则表示n可被该数字整除,并将其添加到总和中。Mod将为您提供整数除法提示。

请将您的代码粘贴在此处,而不是图片!以文本形式发布代码,而不是代码的屏幕截图。图像不能被复制、编译和调试。您应该将代码本身发布到问题中,而不是将图像发布到问题中。还有什么你不明白?现在你只是要求某人逐行向你解释一些代码