n=int(input("please input a integer n:"))
result =0
for i in range(1,n):
if n%i==0:result+=i
print("%d"%result)
求看哪里出错输出不太对..
问题是 从键盘输入一个n,输出其因数之和(包含1和自身)
样例输入1:6
样例输出1:12
range(1,n+1)才是从1到n循环
n = eval(input('请输入正整数n='))
a=0
for i in range(1,n+1):
if(n%i==0):
a+=i
print(a)
你对range的理解有一点偏差。range(1,n)表示的范围是1到n-1,是不包含n的
所以要改成range(1,n+1)才行
明白这个逻辑的话,代码就没问题了。采纳一下下