baozi_CC 发表于 2021-11-11 16:23:27

为什么只有写while temp: 程序才会执行啊?

【求助】为什么只有写while temp: 程序才会执行啊?
代码1如下:
for i in range (100,999):
    sum = 0
    temp = i
   
    while i>1:
      sum = sum + (temp % 10) ** 3
      temp //= 10
   
    if sum == i:
      print(i)

代码2如下:
for i in range (100,999):
    sum = 0
    temp = i
   
    while temp:
      sum = sum + (temp % 10) ** 3
      temp //= 10
   
    if sum == i:
      print(i)

while temp 是指temp为真时执行,i>1也是真,为啥不能被执行啊?

zy1257 发表于 2021-11-11 16:32:05

代码1里面的while i > 1 会一直卡在循环里面,因为i不会在while循环里面更新了

hrpzcf 发表于 2021-11-11 16:33:16

不是不执行而且一直执行退不出来

画个圈圈XZQ 发表于 2021-11-11 17:34:13

i是以初始值100进入 while 循环,循环条件是 i > 1 ,因为循环内没有对 i 的值做出改变, i 是一直大于1的,所以循环会一直执行下去不会退出。
页: [1]
查看完整版本: 为什么只有写while temp: 程序才会执行啊?