七月天vin 发表于 2022-3-20 17:38:43

python课后练习题目答疑



想问下各位大佬,下面代码中的while temp 是啥意思呢


for i in range(100,1000):
    sum = 0
    temp = i
   
    while temp:             # 这里是什么意思呢?
      sum = sum + (temp % 10) ** 3
      temp //= 10
   
    if sum == i:
      print(i)

qiuyouzhi 发表于 2022-3-20 17:43:17

只要 temp 不为 0 就继续循环

monkey-D 发表于 2022-3-20 17:43:50

temp不为0就继续循环,一般0表示false,正整数都可以表示true

七月天vin 发表于 2022-3-20 22:25:35

qiuyouzhi 发表于 2022-3-20 17:43
只要 temp 不为 0 就继续循环

如果一直循环的话,那怎么跳出这个 while循环的呀{:5_94:}

璎珞君 发表于 2022-3-21 16:12:52

本帖最后由 璎珞君 于 2022-3-21 16:14 编辑


qiuyouzhi 发表于 2022-3-21 18:55:28

七月天vin 发表于 2022-3-20 22:25
如果一直循环的话,那怎么跳出这个 while循环的呀

temp 不是每次循环都会地板除以 10 嘛,
一直除下去 temp 就为 0 了

七月天vin 发表于 2022-3-21 22:13:08

璎珞君 发表于 2022-3-21 16:12


感谢大佬解答

七月天vin 发表于 2022-3-21 22:14:23

qiuyouzhi 发表于 2022-3-21 18:55
temp 不是每次循环都会地板除以 10 嘛,
一直除下去 temp 就为 0 了

谢谢啦
页: [1]
查看完整版本: python课后练习题目答疑