python找出完数的方法

yipeiwu_com7年前Python基础

如下所示:

# -*- coding: utf-8 -*-
# 要求:用python方法找出1000以内的所有完数,并输出。
def f(n):
 list = []
 for i in range(2, n + 1):
  for j in range(2, i / 2):
   if i % j == 0 and j <= (i / j):
    list.append(j)
    list.append(i / j)
 
  if sum(list) + 1 == i:
   print i
  list = []
 
if __name__=="__main__":
 n=int(raw_input("请输入最大范围:"))
 f(n)

运行结果:

请输入最大范围:1000
6
28
496

总结:

sum可以直接对列表进行求和!

相关文章

Python使用循环神经网络解决文本分类问题的方法详解

Python使用循环神经网络解决文本分类问题的方法详解

本文实例讲述了Python使用循环神经网络解决文本分类问题的方法。分享给大家供大家参考,具体如下: 1、概念 1.1、循环神经网络 循环神经网络(Recurrent Neural Net...

详解python中的index函数用法

1.函数的创建 def fun():        #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun()...

Python win32com 操作Exce的l简单方法(必看)

实例如下: from win32com.client import Dispatch import win32com.client class easyExcel:...

详解Python中heapq模块的用法

详解Python中heapq模块的用法

heapq 模块提供了堆算法。heapq是一种子节点和父节点排序的树形数据结构。这个模块提供heap[k] <= heap[2*k+1] and heap[k] <= hea...

pandas实现将dataframe满足某一条件的值选出

在读取数据的时候发现,想把数据中第六列含问号的数据挑出来 import pandas as pd data = pd.read_table('breast-cancer-wisc...