求助。。。
做作业时遇到的问题,要求是弄一个寻找出所有水仙花数的函数,我看着没啥问题,但就是不行,技术有限,代码有点长,见谅见谅。。>>> def function1():
list1 = []
for i in range(100,1000):
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:
list1.append(i)
continue
else:
continue
print(list1)
>>> function1()
[] 你把list1定义到外面,不然每次continue
就会重置列表 在你的程序基础上帮你修改了
你的程序中求取各位是不对的
另外,水仙花数是各个位的三次方之和与原数相等称之为水仙花数
def function1():
list1 = []
for i in range(100,1000):
if ((i%10)**3 + (i%100//10)**3 + (i//100)**3) == i:
list1.append(i)
continue
else:
continue
print(list1)
function1() 你是不是对水仙花数的算法有误解呀?为什么会有**(i-(i//10*10)),水仙花数每位数的3次冥之和等于自身,你的算法完全不对。 在我这代码别的地方还有些问题时,我也是弄每个3次幂的,结果一不小心被我一个朋友误导了。{:10_266:}
页:
[1]