Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元组类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python高级编程

第二十章: Python项目实战

首页 > Python基础教程 > 第八章: Python数据类型与运算 > 8.4节: 程序实战-计算水仙花数

8.4节: 程序实战-计算水仙花数

薯条老师 2022-11-28 14:11:10 27589 0

编辑 收藏

8.4.1 何为水仙花数?

水仙花数是一个大于0的三位数,该数的每位数的三次幂之和等于它本身。

举个简单的例子,153就是一个水仙花数。1的3次幂等于1,5的3次幂等于125,3的3次幂等于27,1+125+27=153, 所以153是个水仙花数。

在理解了水仙花数的基本概念以后,该怎么求出所有的水仙花数呢?算法本身并不难,只需将三位数的每一位取出来,然后计算它们的三次幂,最后相加求和。难点在于如何把三位数的每一位取出来。对于个位数,可让三位数与10求余,结果一定是个位数。为什么呢?因为十位和百位必然能被10整除,所以余数一定是个位数。

十位和百位必然能被10整除,按照这样的原理,我们可以进一步求出十位数: 只需去掉三位数中的个位数,然后再与10求余。

对于十位数,可先与10整除,这样就可以去掉个位数。去掉个位数以后再与10求余,则可得十位数。至于百位数,直接整除100就可以得到百位数。

8.4.2 输出所有水仙花数

在Python中通过range函数可以生成指定范围的整数序列,生成[100, 1000)区间的所有三位数,我们可以这么写:range(100, 1000)。以下为完整的Python代码实现:

Python

"""
@author: 薯条老师
@desc: 输出所有水仙花数
"""

for number in range(100, 1000):
    # 与10求余可得个位数
    a = number % 10
    # 与10整除后再与10求余,可得十位数
    b = number // 10 % 10
    # 直接与100整除,可得百位数
    c = number // 100
    # 最后判断各位数的三次幂之和是否等于本身
    if a**3 + b**3 + c**3 == number:
        print(number)

8.4.3 最具实力的小班培训

薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python中高级爬虫逆向工程师就业班,月薪15K-25K,包拿Offer
(3) Python数据分析+商业分析+数据科学就业班,企业级项目实战,月薪10K-20K
(4) Python量化交易就业班,A股+期货+数字货币量化,月薪10K-40K
(5) Python机器学习+深度学习算法工程师,月薪20-50K

跟薯条老师学习的学生有拿到花生日记,林氏家居,南方电网,京东, 阿里等公司的offer, 学生的最低薪资有6K,最高薪资有18K, 平均就业薪资有11000。

扫码咨询薯条老师:

扫码领学习资料.jpg


欢迎 发表评论: