我试图更好地理解递归以及return语句的工作原理.因此,我正在查看一段代码,用于识别与给定术语相关的斐波那契数 - 在这种情况下,4.我很难理解else语句.
def f(n):
if n == 0:
return 0
if n == 1:
return 1
else:
return f(n-1) + f(n-2)
f(4)
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用Visualize Python来检查每一步发生了什么,但是当它遇到else语句时我迷路了.
看起来它取n的值并减去1,以创建一个新的n值3,它返回到函数定义.所以它似乎只返回else语句中第一个函数的值.但是,写入else语句是为了返回2个函数f(n-1)+ f(n-2)的总和,在这种情况下我认为返回值是5?你能在一起添加2个功能吗?
在此先感谢您的帮助.
这是Visualize Python Sum of 2函数中代码的链接
我刚刚开始学习客户端 JavaScript 并使用在线教程,所以请耐心等待。
这个问题是基于我对以下内容的理解:
要访问文档正文的属性,语法是“document.body”,它返回正文中的所有元素。
类似地,当您访问头部时,您使用“document.head”。有道理,最重要的是,它有效。
但是,当我尝试按照相同的逻辑访问正文或头部内的元素时,我得到“未定义”的返回值。例如,document.body.h1 返回“未定义”,尽管 body 元素内有 h1 元素。
此外,当我输入 document.head.title 时——“未定义”。
然而奇怪的是,当我输入“document.title”时,它返回与标题标签关联的字符串值。
我认为为了访问标题,您必须通过头部访问它,因为它是嵌套在头部内的元素。但好吧,没关系。使用相同的逻辑,我应该能够输入 document.h1 并获取其值。不,相反,我变得不确定。
有人可以向我解释为什么这种行为如此不一致吗?提前致谢。
我试图了解原型并处理我对各种其他结构的理解的一些干扰.
有人可以向我解释一下Javascript中的Object是什么吗?为了澄清,我知道一个对象(带有小写的"o")是什么,但不知道对象(带有大写"O")是什么.我知道在JS中创建的任何对象都附加了一个隐藏的原型对象.原型对象既是父对象的属性,又是对象本身,具有自己的属性,可以使用以下命令objectName进行访问.原型 ; 另外,原型对象的属性中有一个原型对象.Object与原型对象相同吗?如果没有,什么是对象 - 全局对象?它/它们如何与窗口对象或全局对象相关?
在此先感谢您的帮助.我已经在互联网上搜索了一个答案,并找不到一个既可访问也可理解的答案.虽然我不是10岁,如果你愿意向我解释,就像我一样,我不会被冒犯,并且会非常感激这种努力.
javascript ×2
dom ×1
fibonacci ×1
function ×1
global ×1
properties ×1
prototype ×1
python ×1
recursion ×1