今天是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!
向上向善,日进一步!
每天学习,努力成长!
定个小目标,开启成长的旅程,遇见更好的自己。
这是我们和自己的约定,许诺自己不负韶华。
路虽远,行则将至;事虽难,做则必成。
成长的最好时机,就是当下。
网友评论