python 通过列表,字符串循环实现水仙花数(比较麻烦,娱乐参考)
突然想到水仙花数,想到了另一种方式实现,比较麻烦,用到了列表,循环字符串的方式。下面也有比较便捷的常规实现方式:
下面为python源码
#定义一个空列表,用来存放数字 l = [] #取100~1000中间的数字,即100-999 for a in range(100,1000): #转化成字符串形式 I = str(a) #循环字符串 for i in I: #转换为整数 t = int(i) j = t**3 #追加到l列表里 l.append(j) #数字相加 z = l[0] + l[1] + l[2] #各位数字立方相加和等于100~1000中间的数,则为水仙花数 if z == a: print("水仙花数有:",a) #重新初始化列表 l = []
常规通过取各位的数字,进行相加计算:
for n in range(100,1000): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i*i*i + j*j*j + k*k*k: print(n)