如何修改Python代码重复执行各位平方求和,直到出现1或4返回对应布尔值
问题解决方案
修改思路如下:
- 首先将单次计算各位数字平方和的逻辑封装为可复用的函数,避免重复编写代码
- 新增循环控制逻辑,每次用上一轮的平方和结果作为下一轮的计算输入,直到计算结果等于1或4时停止循环
- 最终判断停止时的结果:如果是1则输出
False,如果是4则输出True
完整实现代码
# 定义计算各位数字平方和的函数 def calc_square_sum(num): sum_res = 0 for digit in str(num): sum_res += int(digit) ** 2 return sum_res number = 145 current_val = number # 循环直到结果为1或4 while current_val not in (1, 4): current_val = calc_square_sum(current_val) # 按规则输出结果 print(current_val == 4)
代码运行验证
以输入145为例,迭代过程如下:
- 初始值145,平方和为1²+4²+5²=42
- 42的平方和为4²+2²=20
- 20的平方和为2²+0²=4,触发停止条件
- 最终输出
True,符合规则要求
内容的提问来源于stack exchange,提问作者Broski
相关产品推荐
相关产品推荐

