LF695559 发表于 2020-8-30 17:18:54

请求注释下,谢谢 如果可以具体一点

本帖最后由 LF695559 于 2020-9-1 19:20 编辑

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()

昨非 发表于 2020-8-30 17:29:50

本帖最后由 昨非 于 2020-8-30 17:36 编辑


def Narcissus():
    for each in range(100, 1000): #遍历100到1000,即所有三位数
      temp = each#临时储存
      sum = 0   #基数
      while temp:
            sum = sum + (temp%10) ** 3#取余10得到最后位
            temp = temp // 10# 地板除得到前两位
      #依次循环知道三个位全被取出并算出三次方和
      if sum == each:#判断是否满足水仙花数条件
            print(each, end='\t') #打印

print("所有的水仙花数分别是:", end='')
Narcissus()#调用

如果满意,请给评个最佳

baige 发表于 2020-8-30 17:30:15

def Narcissus():
   for each in range(100, 1000):#each从100到999
         temp = each# 把each赋值给temp
         sum = 0#初始化sum = 0
         while temp:#当temp!=0时执行循环
             sum = sum + (temp%10) ** 3#sum每次循环累加temp%10,也就是temp的个位数的三次方
             temp = temp // 10# 注意这里用地板除 去掉个位数如temp = 100 temp//10 = 10

      if sum == each: #如果sum == each说明each是水仙花数
             print(each, end='\t')#输出each+tab
页: [1]
查看完整版本: 请求注释下,谢谢 如果可以具体一点