我是Python的初学者,刚刚开始学习。请使用以下代码帮助我。
def sum_divisors(n):
sum = 0
divisor = 1
while divisor < n
if n % divisor = 0
sum = sum + divisor
divisor += 1
# Return the sum of all divisors of n, not including n
return sum
print(sum_divisors(0))
# 0
print(sum_divisors(3)) # Should sum of 1
# 1
print(sum_divisors(36)) # Should sum of 1+2+3+4+6+9+12+18
# 55
print(sum_divisors(102)) # Should be sum of 2+3+6+17+34+51
# 114
但是,我遇到以下错误,请帮忙:
Error on line 4:
while divisor < n
^
SyntaxError: invalid syntax
答案 0 :(得分:0)
您错过了结尾的“:”:while divisor < n:
。
缩进还存在各种问题。
这可能会解决您的代码:
def sum_divisors(n):
sum = 0
divisor = 1
while divisor < n:
if n % divisor == 0:
sum = sum + divisor
divisor += 1
# Return the sum of all divisors of n, not including n
return sum
答案 1 :(得分:0)
很简单:
def sum_divisors(n):
sum = 0
divisor = 1
while divisor < n:
if n % divisor == 0:
sum = sum + divisor
divisor += 1
这是简单的语法:在while
和if
语句之后应该有一个“:”。
然后缩进。
另外== for if语句
答案 2 :(得分:0)
在:
和while
语句和适当的缩进之后,您需要一个冒号(if
),并且=
用于变量分配,相等的运算符为{ {1}}:
==
答案 3 :(得分:0)
您需要将"/abc/123/def/456/geh"
放在:
,while
,if
和函数定义之后。另外,您需要使用for
而不是==
检查是否相等。
=
答案 4 :(得分:0)
缺少冒号的错误很少。我已经解决了。
def sum_divisors(n):
sum = 0
divisor = 1
while divisor < n:
if n % divisor == 0:
sum = sum + divisor
divisor += 1
# Return the sum of all divisors of n, not including n
return sum
print(sum_divisors(0))
# 0
print(sum_divisors(3)) # Should sum of 1
# 1
print(sum_divisors(36)) # Should sum of 1+2+3+4+6+9+12+18
# 55
print(sum_divisors(102)) # Should be sum of 2+3+6+17+34+51
# 114