描述
"水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。
例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
输入输出示例
输入 | 输出 | |
---|---|---|
示例 | 无输入 | 111,222(输出仅表示格式,不表示对错) |
小白的代码:
f=[]
for a in range(10):
for b in range(10):
for c in range(10):
d = a **3 + b **3 + c **3
if d == a*100 + b*10 + c and len(str(d))>=3:
f.append(d)
print(','.join(str(i) for i in f))
写这段码费了很长时间,水仙花数的计算不是什么难问题,难在输出格式上了……
要求是用逗号分隔输出结果,但如果直接:
print(d,end=',')
出来的结果最后一个值后面也有逗号,想了很多办法都不能去掉。
最终的处理办法是:设立一个列表f,把结果都存到列表里去,然后print的时候遍历列表的元素,并在每个元素后面join ‘,’
大家还有什么好的办法吗?请留言。