python - 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
解决方案
您错过了尾随的 ":": 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
推荐阅读
- android - 当应用程序在后台时,FCM 无法显示弹出窗口
- javascript - 使用 SSO 对 Outlook WEB 加载项进行身份验证
- docker - Docker:与其他容器处于同一级别的 nginx 容器 - 是否足够?
- typescript - 承诺的返回值
- java - 我可以在基于 Java 的 ActiveMQ 客户端中使用自定义 ThreadFactory 吗?
- hive - 删除表 Hive
- data-binding - Vue js 自定义选择 - 绑定到
- html - 通过数据绑定设置“min”时,聚合物纸滑块行为异常
- android - 即使绘制了通知托盘,如何在 android 中使用 NotificationCompat.setSound 连续播放声音?
- perl - 如何跟踪 XS .so 文件?