python打印水仙花数(基础版)
⽔仙花数是指⼀个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本⾝。例如:153是⼀个\"⽔仙花数\",因为153=1的三次⽅+5的三次⽅+3的三次⽅。利⽤for循环输出1000以内得⽔仙花数。 (进阶版见:)\"\"\"
i=t=100#初始化i,t的值为100
list1=[]#定义列表list1装载1000以内的n位数(n≥3 )list2=[]#定义列表list2装载1000以内的⽔仙花数#遍历[100,1000]的数while i <=1000:
list1.append(i)#将遍历的数添加到list1中 i+=1
#遍历list1中的数for t in list1:
#判断为数字为3位数还是4位数 if t < 1000:
g=t%10#输出个位数 b=t//100#输出三位数中的百位数 s=(t//10)%10#输出⼗位数 if t == (g**3+s**3+b**3):#判断每个位上的数字的 n 次幂之和是否等于它本⾝ list2.append(t)#满⾜⽔仙花数条件,输出到list2中 elif t == 1000 :
g = t % 10#输出个位数 q=t//1000#输出四位数千位数 b=(t//100)%10#输出三位数中的百位数 s=(t//10)%10#输出⼗位数 if t == (g**3+s**3+b**3+q**3): list2.append(t)
print(list2)#输出1000以内的⽔仙花数
因篇幅问题不能全部显示,请点此查看更多更全内容