python实例属性自动变化python实例方法静态方法和类方法的区别
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 打印杨辉三角 题目要求 给定一个正整数N,打印杨辉三角的前N行 杨辉三角形态如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 杨辉三角的每一行第一个和最后一个元素都是1 中间的元素,由上一行的两个元素相加得到,第N行的第index元素 是由第N-1 行的第index-1元素和第index相加得到的 思路分析 • 杨辉三角的每一行的第一个元素和最后也元素都是1 • 中间的元素可以由上一行的元素两两相加得到 第N行元素,可以由第N-1 行变化而来,这正是递归算法的精髓,把新的问题转化成老的问题,而老的问题转化成更老的问题,最终必然有一个老问题给出答案,然后整个逻辑链条上的问题都有了答案 代码示例 def print_yanghui(n): """ 递归算法打印杨辉三角 :param n: :return: """ if n == 1: print([1]) return [1] elif n == 2: print_yanghui(1) print([1, 1]) return [1, 1] # 这里如果不返回,第三行就无法生成 else: lst = [1] # 第一个元素 pre_lst = print_yanghui(n - 1) # 得到上一行的元素 # 根据第n -1 行的元素,生成第n行的中间元素 for i in range(len(pre_lst) -1): lst.append(pre_lst[i] + pre_lst[i+1]) lst.append(1) # 最后一个元素 print(lst) return lst
if __name__ == '__main__': print_yanghui(6)
|