while temp:
sum = sum + (temp%10)**3
temp = temp // 10
这段代码的作用,举例: temp 取值153,sum 的值为0,
第1次循环:
sum = sum + (temp%10)**3 # sum = 0+(3)**3
temp = temp // 10 # temp = 153//10 = 15
第2次循环:(此时,sum = 27,temp=15)
sum = sum + (temp%10)**3 # sum = 27+(5)**3
temp = temp // 10 # temp = 15//10 = 1
第3次循环: (此时,sum=152,temp=1)
sum = sum + (temp%10)**3 # sum = 152+(1%10)**3=152+(1)**3=153
temp = temp // 10 # temp = 1//10 = 0
第4次循环: (此时,sum=153,temp =0),注意,while temp: 等于 while 0:
0即是False,不再执行循环体。
总结: sum = sum +(temp%10)**3,这个式子是为了累积 以 temp为变量的值,每执行一次循环,累计一次,而 temp%10(取余,除以10,就是取末尾的数字),目标是把temp里的每一个数字都分别取出来;
temp = temp // 10,这个式子,是给sum = sum +(temp%10)**3, 提供可取余数的被除数。