(初学,仅供大家学习参考)
可用while+for in,也可直接用for in
第一种方法while+for in:(较麻烦)
while外层循环,让整体循环至a=999,;内层循环for in ,把每次循环a的值赋给math;if是内层循环里的选择语句,判断a是否为水仙花数
print('----输出水仙花数-------')
a=100#初始化变量
while a<1000:#条件
for math in range(a,a+1):#执行体
i=(math%100)%10#个位
j=((math-i)%100)/10#十位
k=(math-i-j*10)/100#百位
if int(math)==i**3+j**3+k**3:
print('水仙数',int(math))
a+=1#改变变量
结果:
----输出水仙花数-------
水仙数 153
水仙数 370
水仙数 371
水仙数 407
第二种方法,直接for in:
for in 循环100-999,if判断水仙花数
a=100
for math in range(100,1000,1):
i=(math%100)%10#个位
j=((math-i)%100)/10#十位
k=(math-i-j*10)/100#百位
if int(math)==i**3+j**3+k**3:
print('水仙数',int(math))
结果:
水仙数 153
水仙数 370
水仙数 371
水仙数 407