鱼C论坛

 找回密码
 立即注册
查看: 1408|回复: 4

[已解决]求助。。。

[复制链接]
发表于 2020-3-26 21:58:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
做作业时遇到的问题,要求是弄一个寻找出所有水仙花数的函数,我看着没啥问题,但就是不行,技术有限,代码有点长,见谅见谅。。


  1. >>> def function1():
  2.         list1 = []
  3.         for i in range(100,1000):
  4.                 if (i-(i//10*10))**(i-(i//10*10)) + ((i-(i-(i//10*10)+(i//100*100)))/10)**(i-(i//10*10)) + (i//100**(i-(i//10*10))) == i:
  5.                         list1.append(i)
  6.                         continue
  7.                 else:
  8.                         continue
  9.         print(list1)

  10.        
  11. >>> function1()
  12. []
复制代码
最佳答案
2020-3-26 22:12:24
在你的程序基础上帮你修改了
你的程序中求取各位是不对的
另外,水仙花数是各个位的三次方之和与原数相等称之为水仙花数

  1. def function1():
  2.     list1 = []
  3.     for i in range(100,1000):
  4.         if ((i%10)**3 + (i%100//10)**3 + (i//100)**3) == i:
  5.             list1.append(i)
  6.             continue
  7.         else:
  8.             continue
  9.     print(list1)

  10.         
  11. function1()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-26 22:05:29 | 显示全部楼层
你把list1定义到外面,不然每次continue
就会重置列表
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-26 22:12:24 | 显示全部楼层    本楼为最佳答案   
在你的程序基础上帮你修改了
你的程序中求取各位是不对的
另外,水仙花数是各个位的三次方之和与原数相等称之为水仙花数

  1. def function1():
  2.     list1 = []
  3.     for i in range(100,1000):
  4.         if ((i%10)**3 + (i%100//10)**3 + (i//100)**3) == i:
  5.             list1.append(i)
  6.             continue
  7.         else:
  8.             continue
  9.     print(list1)

  10.         
  11. function1()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-26 22:23:30 | 显示全部楼层
你是不是对水仙花数的算法有误解呀?为什么会有**(i-(i//10*10)),水仙花数每位数的3次冥之和等于自身,你的算法完全不对。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-26 22:32:26 | 显示全部楼层
在我这代码别的地方还有些问题时,我也是弄每个3次幂的,结果一不小心被我一个朋友误导了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-11 16:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表