Python练习实例013

问题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1³+5³+3³。

#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : Ma Yi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2020-06-18
# Name     : demo013
# Software : PyCharm
# Note     : 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本
# 身。例如:153是一个“水仙花数”,因为153=1³+5³+3³。


# 入口函数
if __name__ == '__main__':
    count = 0
    for i in range(100, 1000):
        b = i // 100          # 百位
        s = (i % 100) // 10   # 十位
        g = i % 10            # 个位
        if i == b ** 3 + s ** 3 + g ** 3:
            # 各位数字立方和等于该数本身则为“水仙花数”。
            count += 1
            print("narcissus%d:%d" % (count, i))

运行结果:

narcissus1:153
narcissus2:370
narcissus3:371
narcissus4:407
原文地址:https://www.cnblogs.com/mayi0312/p/13158626.html