迭代中的问题
本帖最后由 逆鳞丶樱之羽 于 2020-11-27 20:59 编辑如题,上代码
def daffodils():
ma_x = int(input('最大索取范围:'))
for each in range(100,ma_x):
su_m = 0
temp = each
while temp:
su_m = su_m + (temp%10)**3
temp //= 10
if su_m == each:
print(each)
return
这是正常执行的
如下图,问题在我画的红圈中。
为什么第一个和第三个并不会执行
求解释,尽量解释清楚一点,谢谢。 你可以在不理解的地方打印自己的疑问
for each in range(100,110):
su_m = 0
temp = each
while temp:
su_m = su_m+(temp%10)**3
temp //= 10
print('su_m=%d , temp=%d'%(su_m,temp))
if su_m == temp:
print(each)
只有temp == 0时,才会跳出while循环
所以temp 是一直等于0的
相当于判断 if su_m == 0
一直不会成立呀 逃兵 发表于 2020-11-27 20:56
你可以在不理解的地方打印自己的疑问
帖子已改,问题在后面的if条件中 缩进的问题,if前面再按一次Tab 伊格利斯 发表于 2020-11-27 21:02
缩进的问题,if前面再按一次Tab
不太明白你的意思。这三个都可以不报错运行,只是第一个和第三个没有执行结果。 逆鳞丶樱之羽 发表于 2020-11-27 21:00
帖子已改,问题在后面的if条件中
你运行一下我发的那段代码,看一下能找出来问题吗 逃兵 发表于 2020-11-27 21:15
你运行一下我发的那段代码,看一下能找出来问题吗
我悟了,谢谢。{:10_266:}{:10_266:}
页:
[1]