python中while循环的问题

foriinrange(100,1000):sum=0temp=iwhiletemp:sum=sum+(temp%10)**3temp//=10ifsum==ipirnt... for i in range(100,1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10
if sum == i
pirnt(i)
这段代码里面 while temp 中,while循环的条件是什么,
展开
 我来答
小阿飞的小蜜蜂
2017-08-07 · TA获得超过454个赞
知道小有建树答主
回答量:222
采纳率:100%
帮助的人:230万
展开全部

当temp布尔值为False时,则不进行这个循环。

而python中,布尔值为false的对象有:

None;
False;
所有值为零的数(0, 0.0, 0L, 0.0+0.0j,)
"" 空字符串;
[] 空列表;
() 空元组;
{} 空字典

当temp // =10,即当temp遇到整十、整百时,都会为0,即跳出while

之鑫_
2017-08-07 · TA获得超过739个赞
知道小有建树答主
回答量:861
采纳率:0%
帮助的人:285万
展开全部
条件是temp是否是空值,不是空值就执行循环
追问
为什么判断的是while是否为空值呢?
追答
你也可以看成它在判断temp=null,0,’‘;
这三种情况,在判断条件没有直接申明变量条件的时候,默认的判断变量是否是这种情况!
然后你下面的计算,其实就是在不断的修改temp的值,当temp=0,就跳出循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式