python函数判断完数_「每日一练」巧用python找出1000以内的所有完数

题目详述

第一行:

for j in range(2, 1001):

创建一个从2到1000的循环,并且将其中的值依次赋值给j

第二行:

s = j

创建一个新的变量s,让它等于j,方便后边的计算,可能有的小伙伴会说,不是已经有了一个变量j,这不是多此一举吗,主要是j在后边的循环中还要一直用到,而s则作为一个变量往下进行传递

第三行:

for i in range(1, j):

创建一个从1到j-1的循环,并且依次赋值给i

第四行:

if j % i == 0:

如果j能够整除i,则说明i就是j的一个因子

第五行:

s -= i

用s减去j的因子i,等到i完成所有的遍历,相当于s减去了j的所有因子

第六行:

if s == 0:

print(j)

如果s等于0,说明s减去j的所有因子值为0,也就是j等于它的所有因子之和,j就是完数,输出j,遍历完成,就输出了所有满足条件的完数

进阶:

利用这个原理我们可以轻松的去判断某个数,并根据我们的条件取数

是不是很便捷呢

结束语

总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python也没有想象中的那么难!

———— e n d ————

a7115aee6fec450bb0fb7e8a04e34c20.jpeg

觉得文章不错的,欢迎点在看和转发

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值