python打印水仙花数(基础版)


水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
利用for循环输出1000以内得水仙花数。
(进阶版见:https://www.cnblogs.com/ttj57/p/13576692.html)
"""
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以内的水仙花数


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM