Python入门练习:三位水仙花数(用"逗号"分隔输出结果)

描述

"水仙花数"是指一个三位整数,其各位数字的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 ‘,’

大家还有什么好的办法吗?请留言。

猜你喜欢

转载自blog.csdn.net/aladdinzebra/article/details/88959134