Day038|Python小例子之求解水仙花数

2021-04-02  本文已影响0人  龙渊的宝藏

今天是Andy学Python的第38 天哦! 

大家好,我是Andy。 

01.

项目需求

所谓“水仙花数”是指一个三位数,其各位数字的3次幂之和等于该数本身。

例如:1^3 + 5^3+ 3^3 = 153

要求:输出100-999之间所有的水仙花数。

02.

分解任务

一是将三位数拆解成各位数字。

设一个百位数123,其百位数为1,123//100,整除其商为百位数字。

十位数为2,123%100//10,原数除以100的余数再整除10的商。

个位数为3,123%100%10,原数除以100的余数再除以10的余数。

二是将各位数字的3次幂相加求其和sum。

三是判断sum与原数字本身是否相等,相等则输出该值。

四是使用for...in range(100,1000),将结果输出列表。

03.

代码实现

s = []

for i in range(100,1000):

    a = i // 100

    b = i % 100 //10

    c = i %100 %10

    if a ** 3 + b ** 3 + c ** 3 == 100 * a + 10 * b + c:

        s.append(100 * a + 10 * b + c)

print(s)

51Day Day up!

向上向善,日进一步!

每天学习,努力成长!

定个小目标,开启成长的旅程,遇见更好的自己。

这是我们和自己的约定,许诺自己不负韶华。

路虽远,行则将至;事虽难,做则必成。

成长的最好时机,就是当下。

上一篇下一篇

猜你喜欢

热点阅读