首页 > 解决方案 > Python - SyntaxError:无效的语法

问题描述

我是 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

标签: python

解决方案


您错过了尾随的 ":": 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

推荐阅读