#所谓“水仙花数”是指一个三位数 #其各位数立方和等于该数本身 #例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方 num = input('请输入一个三位数:') num = int(num)#字符串转换为整型 #取百位 i = int(num/100) # print(type(i))#浮点型转换为整型 #取十位 j = int(num/10%10) #取个位 k = int(num%10) result = i*i*i+j*j*j+k*k*k if result == num: print(num,'是水仙花数') else: print(num,'不是水仙花数') #------------------------------------------------------- #分别用100~999这些数字一个一个判断 targetList = [] targetList1 = [] for num in range(100,1000): i = int(num/100)#取百位 j = int(num/10%10)#取十位 k = int(num%10)#取个位 result = i*i*i+j*j*j+k*k*k if result ==num: targetList.append(num) print('方式一找到水仙花数为:',targetList) for num in range(100,1000): result = pow(int(str(num)[0]),3)+pow(int(str(num)[1]),3)+pow(int(str(num)[2]),3) if result ==num: targetList1.append(num) print('方式二找到的水仙花数为:', targetList1)
12345678910111213141516171819202122232425262728293031323334'