python怎么计算完美数
如图...如何判断完美数的代码已经写好了,但是后面的怎么完成就不会写了...求帮助。。。defisPerfectNumber():n=input('pleaseinput...
如图...如何判断完美数的代码已经写好了,但是后面的怎么完成就不会写了...求帮助。。。def isPerfectNumber(): n = input('please input an integer:') m = n for i in range(len(n)): if str(n)[i] == 0: n = n.replace(str(n)[i],'') if int(n) > 0 and int(n) % 10 != 0 and int(m)%int(n) == 0: return True else: return False
sorry图放错了...见第二张图... 展开
sorry图放错了...见第二张图... 展开
展开全部
不知道你的完美数是怎么定义的,原先写了一个判断完美数,并输出小于输入值N的所有完美数的,稍微修改了下。
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time : 2018/6/16 16:45
# @File : NthPerfectNumber.py
"""
输出第N个完美数
"""
def is_perfect(anum):
"""判断一个数是不是完美数"""
assert anum > 0, '完美数是大于0的整数'
ll = []
num = 0
for i in xrange(1, anum):
if anum % i == 0:
ll.append(i)
num = sum(ll)
if num == anum:
return True
else:
return False
def nthPerfectNumber(n):
m = 0
t = 1
temp = []
while m < n:
if is_perfect(t):
temp.append(t)
m += 1
t += 1
else:
t += 1
else:
return temp[n - 1]
if __name__ == '__main__':
nths = int(raw_input(u'请输入需要返回的第N个完美数:'))
print u'第{0}个完美数是:{1}'.format(nths, nthPerfectNumber(nths))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询