作为一名运维工程师,也一直有一个学习开发的想法,值此之际,不知道博客的下一期目标在哪里,在这思考和犹豫的间隙想着学习和充实一下自己,学习一下python语言,python随着大数据和人工智能的兴起而日益火爆。边学习边实践的原则学习python,希望自己更上一层楼。我的目标是创建一个自己的网站——太阳站点(sun-site.com),一个自娱自乐的自由空间。
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数,函数规则如下:
def 函数名(参数列表):
函数体
def printme( str ):
printme(str=“hello”)
def printinfo( name, age = 35 ):
def functionname([formal_args,] *var_args_tuple ):
def printinfo( arg1, **vardict ):
调用的时候需要使用关键字参数形式
printinfo(1, a=2,b=3)
函数调用是指函数定义完成后,在函数外可以被别的语句执行。在特殊情况下我们在定义中的语句执行函数本身,这就是递归函数。递归函数我们需要指定结束递归的判定条件。
python 使用 lambda 来创建匿名函数。所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
lambda 函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,…argn]]:expression
(base) [root@s186 python]# cat hnt.py
#!/root/anaconda3/bin/python
# This is a python program.
'''
这是一个汉诺塔游戏,一共有三根金刚石柱子
A柱子上有N个黄金圆盘,需要全部移动到C柱子
小盘只能放到大盘上面,一次只能移动一个圆盘
'''
count=0
def move(n,a,b,c):
global count
if (n == 1):
print(a,"柱->最上层圆盘移动到->",c,"柱")
count+=1
return
move(n-1,a,c,b) #把n-1个圆盘从a移动到b
move(1,a,b,c) #把最后一个圆盘从a移动c
move(n-1,b,a,c) #把n-1个圆盘从b移动到c
x=int(input('您想玩几层汉诺塔?请如下对应数字:'))
move(x,'a','b','c')
print("一共需要执行",count,"步才可以移动完成!")
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!