Python之打印出所有水仙花数(3位数,各位数字的立方和等于该数) 您所在的位置:网站首页 1-x的立方等于 Python之打印出所有水仙花数(3位数,各位数字的立方和等于该数)

Python之打印出所有水仙花数(3位数,各位数字的立方和等于该数)

2023-06-07 17:30| 来源: 网络整理| 查看: 265

1.百度到的一位仁兄的代码,忘了贴原地址了,抱歉

for n in range(100,1000):     s = str(n)     sum_num = 0     for i in s:         sum_num += int(i) ** 3     if sum_num == n:         print(n,end=' ')

2.我首次粘贴跑行了,把if sum_num == n:这一行粘贴到for循环里,和sum_num += int(i) ** 3对齐了,造成运行结果是153 370 670 371 407,结果有重复:

for n in range(100,1000):     s = str(n)     sum_num = 0     for i in s:         sum_num += int(i) ** 3         if sum_num == n:         print(n,end=' ')

3.将错就错的思路,针对结果去重,方法一

new_list = [] for n in range(100,1000):     s = str(n)     sum_num = 0     for i in s:         sum_num += int(i) ** 3         if sum_num == n:             if n not in new_list: #不在空列表里的值append到列表,起到去重作用                 new_list.append(n) print(new_list,end=' ')

4.将错就错的思路,针对结果去重,方法二

new_list = [] for n in range(100,1000):     s = str(n)     sum_num = 0     for i in s:         sum_num += int(i) ** 3         if sum_num == n:             print(n,end=' ')             new_list.append(n) print() #此时打印结果肯定有重复的 print(set(new_list)) #将列表new_list转换成集合后去重             



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有