构造符合递推规律的n行数字列表 现有Python代码运行异常如何解决?
现有代码问题
- 执行逻辑提前终止:你在for循环的第一次迭代就执行了return语句,函数直接返回结果,不会完成后续n次的循环计算。
- 逻辑完全不匹配需求:当前代码只返回了两个整数组成的元组,没有维护上一行的数字列表,也完全没有按照题目给出的递推规则计算每一行的新元素。
- 代码结构错误:
print(append(n))写在了函数内部return语句之后,永远不会被执行,同时递归调用自身也会造成逻辑混乱。
正确实现代码
def generate_sequence(n: int): # 初始化第0行 prev_line = [1] print(prev_line) # 循环生成剩下的n-1行 for _ in range(n-1): current_line = [prev_line[-1]] for i in range(1, len(prev_line)+1): current_line.append(current_line[-1] + prev_line[i-1]) print(current_line) prev_line = current_line # 测试n=4的情况 generate_sequence(4)
输出结果
运行上述代码传入n=4时,输出和示例完全一致:
[1] [1, 2] [2, 3, 5] [5, 7, 10, 15]
内容的提问来源于stack exchange,提问作者Bruffff
相关产品推荐
相关产品推荐

