8178919 发表于 2020-5-4 14:41:36

课后作业第009讲:了不起的分支和循环3

1. 编写一个程序,求 100~999 之间的所有水仙花数。

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
      sum = sum + (temp%10) ** 3
      temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
      print(i)
这段代码一直看不懂{:10_262:}

qiuyouzhi 发表于 2020-5-4 14:45:09

我猜你不懂的是while循环里面的东西,
你可以实践一下啊?
>>> a = 153
>>> a % 10 # 取出一位
3
>>> a // 10 # 去掉一位
15

8178919 发表于 2020-5-4 14:52:03

qiuyouzhi 发表于 2020-5-4 14:45
我猜你不懂的是while循环里面的东西,
你可以实践一下啊?

谢谢啦
页: [1]
查看完整版本: 课后作业第009讲:了不起的分支和循环3