关于零基础第九讲课后题之水仙花数问题的理解
for i in range(100, 1000):sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
这里代码的逻辑+理解,看不明白。。。 本帖最后由 Hoiste 于 2019-11-7 17:16 编辑
temp % 10求余得到temp个位上的数字,temp // 10 为地板除,当做把个位去掉,十位和百位组成一个新的两位数temp,然后再下一个循环temp % 10 取出新的temp的个位数,这里的个位数是原来的数的十位的数。然后以此类推。直到把百位也处理完了temp// 10 为零退出while循环。
这段代码比较核心的就是这部分,其他应该不难理解。。。 https://fishc.com.cn/forum.php?mod=viewthread&tid=93848 Hoiste 发表于 2019-11-7 17:14
temp % 10求余得到temp个位上的数字,temp // 10 为地板除,当做把个位去掉,十位和百位组成一个新的两位数 ...
这应该就是迭代思想吧....
页:
[1]