blackfame 发表于 2020-8-7 15:38:27

第9讲 课后作业水仙花数代码问题

for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
      # 当temp > 0 时为True执行循环, 当temp 为 0 时为False
      sum = sum + (temp%10) ** 3
      # temp除以10余数的3平方首次除完即为个位,第二次为十位,第三次为百位,同时赋值给SUM参与下一次合计
      temp //= 10
      # temp除以10取整,个位数除以10整数位为0,此时temp为0结束while循环
      print(temp)
    if sum == i:
      print(i)


各位大神,看看我注释理解的对吗?

qiuyouzhi 发表于 2020-8-7 15:40:15

基本正确,给你微改了一下
for i in range(100, 1000):
    sum = 0
    temp = i
    # 当temp > 0 时为True执行循环, 当temp 为 0 时为False, 退出循环
    while temp:
      # temp除以10的余数的3次方首次除完即为个位,第二次为十位,第三次为百位,同时赋值给SUM参与下一次合计
      sum = sum + (temp%10) ** 3
      # temp除以10取整,个位数除以10整数位为0,此时temp为0结束while循环
      temp //= 10
    if sum == i:
      print(i)
页: [1]
查看完整版本: 第9讲 课后作业水仙花数代码问题