python练习题
文章平均质量分 67
又是被bug折磨的一天
本科数据科学与大数据技术专业,研究生就读的专业为电子信息,培养方向:大数据技术与工程,目前研二在读。
展开
-
第8关:使用递归
递归(Recursion)是一种非常重要的程序设计思想。它可以极其方便的简化程序设计流程,以非常简洁的方式完成复杂的逻辑设计。我们都知道在一个函数内部还可以调用其它函数,但是如果在一个函数的内部调用函数自身,那么这个函数就是递归函数。注意,在使用递归策略时,必须要有一个明确的递归结束条件,称为递归出口。本关的编程任务是补全 src/step8/step8.py 文件中的代码,以递归的方式设计函数。递归调用的代价高昂(效率低),因为占用了大量的内存和时间。本关的任务是让学习者掌握使用递归的方式设计函数。原创 2023-09-17 16:49:41 · 845 阅读 · 0 评论 -
第9关:生成器与 yield
因为计算 F(i) 需要 O(i) 次加法,这使得整个运算的复杂度为 O(n2)。然而,这种方法不具有扩展性 —— 当需要存储的全局变量非常多的时候,会破坏程序的数据封装性。本关的任务是让学习者掌握 Python 中生成器的使用方法,然后利用生成器实现一个计算 π 的具有 O(N) 复杂度的算法。我们可以使用一个生成器,在避免使用过多全局变量的情况下获得开销为 O(n) 的算法,代码如下。本关的编程任务是利用生成器,基于韦达公式给出计算 π 的具有 O(N) 复杂度的算法。当对该生成器再次调用(使用。原创 2023-09-17 15:43:06 · 362 阅读 · 0 评论