大家好,又见面了,我是你们的朋友全栈君。
题目
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
请按照从小到大的顺序输出 1000 以内的水仙花数(3位数),并用”逗号”分隔输出结果
实现思路
- 用 for循环 控制1000以内的3位数
- 依次求出该3位数中的个十百位,判断是否是水仙花数
- 先把3位数转为字符串类型,再添加到列表中
- 对结果进行处理,通过
join()
方法用 “,” 拼接
代码实现
def demo():
temp = []
for i in range(100, 1000):
a = i // 100 # 百位
b = i // 10 % 10 # 十位
c = i % 10 # 个位
if a ** 3 + b ** 3 + c ** 3 == i:
temp.append(str(i))
return ",".join(temp)
print("1000以内的水仙花数有:{}".format(demo()))
更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156069.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...