1、递归recursion:每次递归调用内部建一个调用帧,相当于堆栈吧。
递归我觉得是一个比较聪明的发明,因为它看起来在循环定义,就像这样:试想如果单词的解释如下:vorpal:名词,描述一种叫做vorpal的行为。你一定会气疯了。
但它其实不是循环定义:n!=(n-1)!*n;0!=1.像这么定义,虽然n!里你仍然会问!是什么意思啊?虽然没有明确告知,但是却告诉了你一个推理式,让你按照其推理方式去推,就像是一个数列的前后项的表达关系,我们虽然不知道具体的数列表达,但是高中知识就已经告诉我们如何通过前后项的关系和首项去推导某些数列的通项表达了。
2、输入input:比如input=raw_input('what is your name?\n')中后面的字符串并不是赋值给input这个变量的,而是一个提示语句prompt,当你输入字符串按下enter键之后你的输入才是变量的值的赋予。这里需要不要被表象所误导。在c语言里一般分两步,先printf(“what is your name?\n”)再scanf(“%s”,&c)。
3:由于不像C语言没有花括号,大多时候让代码更简洁。但是取代花括号作用的空格却因为看不见对不齐而经常引起程序结构错误,进而导致代码错误。经常报错error:invalid syntax。这里需要辩证的看待吧,有得必有失咯。
转载请注明原文地址: https://ju.6miu.com/read-972163.html