最大值
def max(a,s):
if a>s:
return a
else:
return s
a,s=eval(input("请输入两个数:"))
print("输出最大的数:",max(a,s))
移动位置
import math
def move(x,y,step,angle):
nx=x+step*math.cos(angle)
ny=y+step*math.sin(angle)
return nx,ny
x,y,step,angle=eval(input("请输入:"))
print(move(x,y,step,angle))
def hello() :
print("Hello World!")
hello()
打印信息
name = "张三"
age=19
def show():
gender="男"
print(name)
age+1
print(age)
print(gender)
show()
二数和
def add(a,s):
return a+s
a,s=eval(input("请输入两个数:"))
print(add) #不加()表示add的地址
print(add(a,s))
引用传递
def info(fn,msg):
fn()
print(msg,"1")
def print_msg():
print("定义")
info(print_msg,"hjhj")
print(print_msg)
位置参数
x的n次方
def cif(a,d):
s=1
while d>0:
d=d-1
s=a*s
return s
a,d=eval(input("请输入两个数:"))
print(a,"的",d,"次方为",cif(a,d))
默认值参数
def add(ls=[1]):
if ls is None:
ls=[]
ls.append("end")
return ls
print(add())
递归:n!
def fact(n):
if n == 1:
return 1
return n*fact(n-1)
print(fact(5))
匿名函数lambda
a_lambda=lambda:100 #没有参数
print(a_lambda())
s_lambda=lambda a:a**3 #一个参数
print(s_lambda(4))
sum_lambda=lambda a,s,d:a+s+d #多个参数
print(sum_lambda(1,2,3))
作为一个函数传递
def func(a,s,func):
print(a,s,func(a,s))
func(1,10,lambda a,s:a+s)
作为函数的返回值
def func(a,s):
return lambda d:a+s+d #匿名函数lambda d:a+s+d
return_func=func(1,10)
print(return_func)
print(return_func(100)) #调用return_func(100)