python - Python完美数
问题描述
在这个 Python 问题中,如果数字不完美,我应该得到 False。相反,我得到“无”。我应该改变什么?
def perfect(number):
sum = 0
is_perfect = False
if number < 0:
return is_perfect
for i in range(1, number):
if(number % i == 0):
sum = sum + i
if (sum == number):
is_perfect = True
return is_perfect
print(perfect(8))
解决方案
您应该False
在结束时返回,否则 None 会隐式返回:
def perfect(number):
...
for i in range(1, number):
...
return False
推荐阅读
- github - 为什么我在 GitHub 中收到页面构建错误?
- audio - 如何使用内部音频渲染器在 MPC-HC 中的 DTS Interactive (5.1 Surround) 中播放音乐?
- r - 在 R 中找到两次之间的中间时间,有时是一夜之间
- python - 从数据框中创建以行值为值的折线图
- laravel - 我怎样才能只获得指定的列而不是完整的对象?Laravel 雄辩
- css - 做一个{position:sticky; top:0} 元素的底部停留在视口内(没有 JS)
- php - 如何使用ezSQL获取数据库中的所有表?
- c# - 当任务状态为 RanToCompletion 时,如何重新启动它?
- python - 将字符串转换为预先存在的变量?
- node.js - 会话在服务器上的快速会话中存储多长时间?