python判断完数_python练习笔记——完全数(1000以内的)

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等

——摘自百度百科

for i in range(1,1001):

a = []

for j in range(i):

if i % j == 0:

a.append(j)

if i == sum(a):

print(i)

运行报错

Traceback (most recent call last):

File "t12.py", line 4, in

if i % j == 0:

ZeroDivisionError: integer division or modulo by zero

后来发现原因

print([i for i in range(3)])

# [0, 1, 2]

range 只写一个参数时,是以 0 作为起点。而0 不能作为被除数

修改range范围

for i in range(1,1001):

a = []

for j in range(1,i):

if i % j == 0:

a.append(j)

if i == sum(a):

print(i)

运行

6 28 496

也可以

for i in range(1,1001):

sum = 0

for j in range(1,i // 2 + 1):

if i % j == 0:

print(j)

sum += j

if i == sum:

print(i)

j 不大于 i 的一半加1

1000以内完全数(完美数)获取实现---基于python

"""题目: 如果一个数恰好等于它的因子之和,则称该数为"完全数" .各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的 ...

Java版求1000以内的完全数

/* * 若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数,简称完数. * 例如:6=1+2+3. * 题目:求1000以内的完全数. */ public cl ...

Python学习笔记(四)函数式编程

高阶函数(Higher-order function) Input: 1 abs Output: 1 Input: 1 abs(-10) Output: 1 ...

python自学笔记

python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

Python自学笔记-filter()函数(来自廖雪峰的官网Python3)

感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. Python内 ...

Python学习笔记(六)

Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

【python学习笔记】9.魔法方法、属性和迭代器

[python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...

python学习笔记(二)、字符串操作

该一系列python学习笔记都是根据内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

随机推荐

java开发连接Oracle 12c采用PDB遇到问题记录

今天初次使用java连接Oracle 12c,遇到各种问题,为方便后续查询,在汇总了问题记录及解决方案如下. ORA-28040: No matching authentication protoco ...

提高效率的Matlab使用方式

1.花一点时间学习一些提高效率的技巧永远是值得的: 2.总结和记录永远是必要的. Command窗口: Editor窗口: 1.Tab自动补全

D_S 线性表的顺序表示和实现

线性表的顺序表示又称为顺序存储结构或顺序映像 顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构,简言之,逻辑上相邻,物理上也相邻 顺序存储方法:用一组地址连续的存储单元依次存 ...

postgresql 关闭自动提交

1. 简介说明             我们知道oracle中sqlplus里面执行dml语句:是需要提交commit:若错了:也可以回滚rollback: 然而在postgresql里面默认是自动提 ...

亲测 asp.net 调用 webservice返回json

前端脚本 $("#sure").click(function () { var tbody = $("#putsigal tbody"); var trs = ...

20160501--struts2入门2

一.Action名称的搜索顺序 1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action   2.首先寻找name ...

linux内核移植 I

根据tx2440的文档, 目标也比较简单, 先编译成功, 再烧录, 根文件系统, busybox 这些. A. 准备 1. 解压tar, 修改根Makefile ARCH ?= arm CROSS_C ...

.net core nlog记录日志

1.通过nuget 查找 下载 NLog.Extensions.Logging 2.配置nlog.config文件 <?xml version="1.0" encoding= ...

java Log日志规范

Overview 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是 ...

批处理注册dll时候 遇到错误:模块已加载,但对&ast;&ast;&ast;dll的调用失败

解决方法 在批处理的第一行加入:cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值