为什么这个python脚本将零的除法器排序为一而不是零

  • 本文关键字:除法器 排序 python 脚本 python
  • 更新时间 :
  • 英文 :


我真的很困惑,为什么这段代码把零的除法器排序为一!这是我的代码,顺便说一下,我是一个初学者,所以请对我宽容一点。

def sum_divisors(n):
divisors = [1]
for i in range(2, n):
if (n % i)==0:
divisors.append(i)
return sum(divisors)
print(sum_divisors(0))

您已经提供了divisors = [1]。当您将0作为参数传递时,for循环将变为

for i in range(2,0)

这基本上意味着您的for循环根本不会运行。因此,sum(divisors)的默认输出将是1

首先,当您需要答案时,格式化会有所帮助;(

def sum_divisors(n): 
divisors = [1] # Note that you initialize the list to be [1]
for i in range(2, n): 
if (n % i)==0: 
divisors.append(i) 
return sum(divisors) 
print(sum_divisors(0))

您的初始列表设置为[1]。如果n<1.

最新更新