| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
def Narcissus(): 
    for each in range(100, 1000): 
        temp = each 
        sum = 0 
        while temp: 
            sum = sum + (temp%10) ** 3 
            temp = temp // 10  # 注意这里用地板除 
 
        if sum == each: 
            print(each, end='\t') 
 
print("所有的水仙花数分别是:", end='') 
Narcissus()         题目是:寻找水仙花数 
 
题目要求:如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如153 = 1^3+5^3+3^3,因此153是一个水仙花数。编写一个程序,找出所有的水仙花数 
这串代码我看不懂  求大神详细解释下 
 
      
def Narcissus(): 
    for each in range(100, 1000): 
        temp = each 
        sum = 0 
        while temp: 
            sum = sum + (temp%10) ** 3 
            temp = temp // 10  # 注意这里用地板除 
#这里循环一个数会while循环3次,第一次循环得到个位数的立方,第二次得到十位数的立方并加上个位的,第三次会得到百位数的立方加上前面的,到第四次temp就是0了,之后从for循环取数值 
        if sum == each: 
            print(each, end='\t') 
 
 
 |   
 
 
 
 |