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