程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。
创新互联是一家集网站建设,甘南企业网站建设,甘南品牌网站建设,网站定制,甘南网站建设报价,网络营销,网络优化,甘南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
Python
是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
有一种可能的情况是循环中创建了局部变量作用域。一般来说python的关键字比如for while with等等是不会创建一个新的变量作用域的,但是如果在循环中创建了函数就会创建了一个新的变量作用域,可能导致前后循环里的n不是同一个。当然也有可能是第一个循环出来的n并不是1,最好在第一个循环后打印n的值,既然程序进入了第二个循环,猜测这个值应该是2,多半还是第一个循环的问题
这里改一下:
if len(x)!=11:
print('你的号码不足11位,无效!')
x=tel_number() #这里如果不改x的值还是151
return x
输入8执行外部的循环,接着要求继续输入
while循环
上一节的条件语句实际上只能执行一次,如果要反复的判断执行一些事件要怎么办?
这个时候就需要靠while、for等循环语句了。
我们先来认识下while循环,何为while循环?就是在某条件下,循环执行一段语句,代码上可以表达为:
[python] view plain copy
while 判断条件:
执行语句
无限循环
你可能会发现,当你使用while的时候,如果while后面的条件一直为Ture,那这个while就会一直运行下去了。这样程序就会永无休止的运行下去,如果while里面有一些申请内存的操作,这样就会耗尽计算机的内存。但是不一定无限循环都是坏事,有些服务端程序故意使用无限循环,来等待客户端的消息。所以必须小心地使用while循环,循环条件不当可能会引起意料不到的结果。