删除列表[100,370,373,153,108,360,371,451,407,135]中不是水仙花数的元素。
def Water(i):
p = str(i)
sum = 0
for a in p:
sum += int(a) ** len(p)
if sum == i:
return 1
else:
return 0
if __name__ == '__main__':
a = [100, 370, 373, 153, 108, 360, 371, 451, 407, 135]
for li in a:
if(Water(li)==0):
a.remove(li)
print(a)
360不是水仙花数,为什么删不了
上面的代码有误,忘记列表元素改变了
"""
@Time : 2021/6/29 16:26
@Author : Keep Doing this(小小的鹏弟)
@FileName: CSDN.py
@SoftWare: PyCharm
"""
def Water(i):
p = str(i)
sum = 0
for a in p:
sum += int(a) ** 3
if sum == i:
return 1
else:
return 0
if __name__ == '__main__':
a = [100,370,373,153,108,371,451,407,135,360]
b=[]
for i in a:
if (Water(i)==1):
b.append(i)
print(b)