def dylc():
print(‘1楼西装’)
print(‘2楼女装’)
print(‘3楼化妆品’)
floor=int(input(‘请输入楼层:’))
if floor==1:
print(‘西单大悦城1 楼欢迎您’)
dylc()
print(‘您现在1楼’)
elif floor==2:
print(‘西单大悦城2 楼欢迎您’)
dylc()
print(‘您现在2楼’)
elif floor==3:
print(‘西单大悦城3 楼欢迎您’)
dylc()
print(‘您现在3楼’)
#----------------------------------------
def jiafa(a,b):#定义一个函数,形参
c=a+b
print(’%d+%d=%c’%(a,b,c))#返回值
jiafa(5,7)#调用,实参
jiafa(3,7)
#------------------------------------
def num(a,b):#形参
c=a+b
return c#返回一个值
x=num(5,6)#把返回地值赋予X
if x>10:
print(‘金额>10奖励’)
else:
print(‘不打折’)
def jisuan(a,b):
c=a+b
d=a-b
e=a*b
f=a/b
return c,d,e,f
x=jisuan(8,5)
print(x)
a,b,c,d=jisuan(4,7)
print(a,b,c,d)
#不可变类型
def hs(a):
a+=2
return a
b=4
hs(b)
print(b)
#可变类型
def kb(a):
a.append(3)
#a=6
b=[]
kb(b)
print(b)
#关键字参数
def pt(name,age,sex):
print(‘我是’,name)
print(‘年龄’,age)
print(‘性别’,sex)
pt(name=‘张三’,sex=‘男’,age=‘18’)
#----------必须参数:实参he形参一一对应
def jisuan(a,b):
c=a+b
return c
jisuan(3,4)
#默认参数
def pt(name,age=18,sex=‘男’):
print(‘我是’,name,end=’ ')
print(‘年龄’,age,end=’ ')
print(‘性别’,sex)
pt(name=‘张三’,sex=‘男’,age=‘18’)
pt(name=‘李四’,)
pt(name=‘王五’,)
pt(name=‘赵六’,)
pt(name=‘宋七’,sex=‘女’)
#---------------------------------------
def pt(*args):#*args是元祖
print(args)
for i in args:
print(i,end=’,’)
print()
pt(1,2,3)
pt(1,2,3,4,455,64,32,2)
#-------------------------------------
def pt(**kwargs):
print(kwargs)
for k,v in kwargs.items():
print(k,v,end=’’)
print()
pt(name=‘张三’,age=18,sex=‘男’)
pt(name=‘李四’,age=24,sex=‘女’,address=‘河北’)
#=================================================原装面试题******************************
def xhs(a,b,d=[]):
d.append(‘x’)
print(d)
xhs(1,2)
xhs(10,20)
#嵌套函数-------------------python独有的特性
def waibu():
print(‘1111’)
def neibu():
print(‘2222’)
neibu()
waibu()
---------------------------------------------------
a=0
def hanshu():
a=2
print(a)
hanshu()
print(a)
#------------------------------
a=[]
def hanshu():
a.append(23)
hanshu()
print(a)
#======================================************************************
a=3
def hs():
k=a+5
hs()
print(a)#输出3
a=3
#-----------------------------
def hs():
a+=5
hs()
print(a)#输出报错
a=3
#-----------------------------
def hs(a):
a+=5
hs(a)
print(a)#输出3
=========================================
a=3
def hs():
global a
a=5
print(a)
hs()
print(a)
非全局变量
def hs():
a=30
def neibu():
a=20
def neibun():
nonlocal a
a=5
print(a)
neibun()
print(a)
neibu()
print(a)
hs()
#笔试简答+================================8******
查照变量的顺序
#LEGB法则
L-----LOCAL 局部
E-------ENCLOSE------嵌套作用域
G-------GLOBLE-------全局
B---------BUILT-IN------内置
a=100
b=2
c=10
def waibu():
b=200
c=2
def neibu():
c=300
print©#LOCAL局部变量
print(b)#ENCLOSE嵌套
print(a)#GLOBAL全局
print(max)#BUILT-IN内置
neibu()
waibu()
d递归函数:
def jiecheng(n):
if n==1:
return 1
else:
return n*jiecheng(n-1)
s=jiecheng(5)
print(s)
=======================================================
def fbnp(n):
if n=1 or n==2:
return 1
else:
return fbnp(n-1)+fbnp(n-2)
i=0
for i in range(1,13):
print(‘第%d个月的兔子数是%d’%(i,fbnp(i)))
#小型函数lambda
x=lambda x:x*2+5
print(x(10))#输出10
print(x(3))#输出11
y=lambda y:y*10+5
print(y(3))#输出35
z=lambda a,b:a*5+b
print(z(2,3))#输出13
------------------------------------
a={‘name’:‘程传纪’,‘age’:29,‘address’:‘山东’}
x=lambda b:b[‘age’]
print(x(a))
绝对值abs指是一个函数
a=[2,32,-46]
b=max(a,key=abs)#先对a里面的值换成绝对值,再取最大的,但a里面的值不变
print(b)
---------------------------------
a=[1,3,-2,-4,5,6]
a.sort(key=abs)#先对a里面的值换成绝对值,再按照绝对值大小排序,但a里面的值不变。sort指的是排序
print(a)
===============================
a=[{‘name’:‘1’,‘age’:18,‘address’:‘山东’},
{‘name’:‘2’,‘age’:38,‘address’:‘河北’},
{‘name’:‘3’,‘age’:28,‘address’:‘山东’}]
b=max(a,key=lambda x:x[‘age’])
print(b)
=========================================**********************************
i=10
def a(x):
print(x*i)
i=20
def b(x):
print(x*i)
i=30
def c(x):
print(x*i)
a(3)
b(3)
c(3)
#====================================*****************
a=[lambda x:x*i for i in range(3)]
print(a0)
print(a1)
print(a2)