Python花式编程案例集锦(6)

2017-10-10 董付国 Python小屋 Python小屋

问题描述:输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153 = 1^3 + 5^3 + 3^3 。

#参考代码一,运算符

for num in range(100, 1000):
    bai = num // 100
    shi = num % 100 // 10
    ge = num % 10
    if ge**3 + shi**3 + bai**3 == num:
        print(num)

#参考代码二,内置函数

for num in range(100, 1000):

    bai, rest = divmod(num, 100)
    shi, ge = divmod(rest, 10)
    if ge**3 + shi**3 + bai**3 == num:
        print(num)

#参考代码三,函数式编程+序列解包
for num in range(100, 1000):
    #这里是序列解包的用法
    bai, shi, ge = map(int, str(num))
    if ge**3 + shi**3 + bai**3 == num:
        print(num)

#参考代码四,函数式编程+内置函数
for num in range(100, 1000):
    r = map(lambda x:int(x)**3, str(num))
    if sum(r) == num:
        print(num)


运行结果:

153
370
371
407


---------------相关阅读---------------

Python花式编程案例集锦(5)

Python花式编程案例锦集(4)

Python花式编程案例锦集(3)

Python花式编程案例锦集(2)

Python花式编程案例锦集(1)


----------喜大普奔----------

1、继《Python程序设计基础》(2017年9月第5次印刷)、《Python程序设计(第2版)》(2017年9月第4次印刷)、《Python可以这样学》(2017年7月第3次印刷)系列图书之后,董付国老师新书《Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版,并于2017年9月进行了第2次印刷。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3

2、10月13日——15日,重庆,全国高校程序设计系列课程高级研究班,详见:全国高校程序设计系列课程高级研修班(Python)通知