|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 逆鳞丶樱之羽 于 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
一直不会成立呀
|
|