文件名称:再谈递归-三菱数控指导手册api
文件大小:1.91MB
文件格式:PDF
更新时间:2024-07-03 00:32:26
python
64 第六章 有返回值的函数 � if is_divisible(x, y): print('x␣is␣divisible␣by␣y') � 很容易写出下面这样的代码:� if is_divisible(x, y) == True: print('x␣is␣divisible␣by␣y' � 但这里的比较是多余的。 我们来做个练习:写一个函数 is_between(x, y, z),如果 x ≤ y ≤ z 返回 True否则返回 False。 6.5 再谈递归 我们目前只介绍了 Python中一个很小的子集,但是当你知道这个子集已经是一个完备 的编程语言,你可能会觉得很有意思。这意味任何能被计算的东西都能用这个语言表 达。有史以来所有的程序,你都可以仅用目前学过的语言特性重写 (事实上,你可能还 需要一些命令来控制鼠标、磁盘等设备,但仅此而已)。 阿兰·图灵 (Alan Turing)首次证明了这种说法的正确性,这是一项非凡的工作。他是首 批计算机科学家之一2 相应地,这被称为图灵理论。关于图灵理论更完整(和更准确) 的讨论,我推荐Michael Sipser的书《Introduction to the Theory of Computation》。 为了让你明白能用目前学过的工具做什么,我们将计算一些递归定义的数学函数。递归 定义类似循环定义,因为定义中包含一个对已经被定义的事物的引用。一个纯粹的循环 定义并没有什么用: 漩涡状: 一个用以描述漩涡状物体的形容词。 如果你看到字典里是这样定义的,你大概会生气。另一方面,如果你查找用 ! 符号表示 的阶乘函数的定义,你可能看到类似下面的内容: 0! = 1 n! = n(n − 1)! 该定义指出 0的阶乘是 1,任何其他值 n 的阶乘是 n 乘以 n − 1的阶乘。 2一些人认为他是数学家,但很多早期的计算机科学家出身于数学家。