Python如何调整循环方向,从输入正整数向上迭代计算相邻数平方和
核心代码调整点
- 把循环从倒序改成正序:原代码用
range(positive_int,0,-1)从输入值开始往小数遍历,才会输出4、3这类递减的条目,改成从输入值开始逐次往上数的正序逻辑,就会依次输出6、7这类递增的后续条目 - 补全等式的中间计算值:单独把当前数、下一个数的平方结果存为变量,打印的时候把这两个值嵌进去,实现
= 25 + 36 = 61的展示效果 - 修正终止逻辑的顺序:原代码是先判断平方和是否超100、满足条件就中断,不打印当前行的内容,会漏掉刚好超过100的那条输出;改成先打印当前等式,再判断是否超100来中断循环,完全匹配预期输出效果
- 删掉冗余代码:原代码里提前初始化的
total = 0在循环里会被重新赋值,完全用不上,可以直接移除
修改后完整可运行代码
user_input = input("Enter a positive integer: ") positive_int = int(user_input) print("Here are the equations: ") # 从输入值开始向上遍历,留足遍历余量,实际会靠break提前终止 for i in range(positive_int, positive_int + 100): square_current = i * i square_next = (i + 1) * (i + 1) total = square_current + square_next print(f"{i} square + {i + 1} square = {square_current} + {square_next} = {total}") # 平方和超过100时终止循环 if total > 100: break
输入5时的实际运行输出(和预期完全匹配)
Enter a positive integer: 5 Here are the equations: 5 square + 6 square = 25 + 36 = 61 6 square + 7 square = 36 + 49 = 85 7 square + 8 square = 49 + 64 = 113
内容的提问来源于stack exchange,提问作者connorling
相关产品推荐
相关产品推荐

