D19 练习题
作者:互联网
1.列举布尔值为False的值
0,[],{},(),False,’’,None
列如:
if 0:
2.写函数:
根据范围获取其中被3和7整除的所有数的和,符合条件的数字个数以及符合条件的数字的总和
3.函数传递参数时,是否用的同一内存地址
name = “hairui”
def show():
print(id(name))
print(id(name))
show()
4.三元运算
变量 = 值一 if 条件一 else 值二
5.定义函数统计一个字符串中大写字母,小写字母,数字的个数,并以字典为结果返回给调用函数·
用id进行判断
6.将字符串’xyy’转换成UTF-8编码的字节类型
s='xyy'
print(type(s))
a=bytes(s,'utf8')
s.encode('utf8')
a=b'hello'
7.
def fuc(x,z,y=5):
print(x,y,z)
fuc(1,3,4)#默认参数y=5,对应y的位置参数可有也可无,有的时候取y的位置参数,无的时候取y的默认参数
def fuc(x,*z,**y):
print(x,y,z)
fuc(1,3,4)
def fuc(x,*y,**z):#*y表示可以接受0至n个参数,若此次是y会报错
print(x, y, z)
fuc(1,name=3,age=4)
def fuc(*y,**z):
print(y,z)
fuc(*[1,2,3,4,5])
def fuc(*y,**z):
print(y,z)
fuc(*[1,2,3,4,5],**{'name':'xyy','age':'16'})
b="age%d%s"%(12,"岁")
print(b)
def func(a1):
return a1+100
func = lambda a1:a1+200
ret = func(10)
print(ret)
8.进制转换
int(),bin(),oct(),hex()
十进制转二进制 bin(18)--> '0b10010' 去掉0b就是10010 即为十进制18转二进制是10010
十进制转八进制oct(18) -->'022' 去掉0 就是22 即为十进制18转八进制是22
十进制转十六进制hex(18) -->'0x12' 去掉0x 就是12 即为十进制18转八进制是12
9.利用内置函数zip(),join(),已知l1=["我",22,33,4,4],l2=["爱",22,55,6,7],l3=["学",22,33,44,5],l4=["python",22,33,4,5] 获取字符串s = '我_爱_学_python'
l5="_".join(list(zip(l1,l2,l3,l4))[0])#join把一个可迭代对象转换成字符串
print(l5)#join的功能属于“_”的这个字符串
10.NAMELIST = ["alex","eric"]
def func():
global NAMELIST
NAMELIST =123
func()
print(NAMELIST)
输出结果为:123
11.
name = 'name1'
def outer(func):
name = 'name2'
func()#函数名作为参数,实质是show
return func #返回func的内存地址
def show():
print(name)
outer(show)
12.8!
第一种:
def f(n):
if n==1:
return 1
return n*f(n-1)
f(8)
第二种:
from functools import reduce
print(reduce(lambda x,y:x*y,[x for x in range(1,9)]))
标签:练习题,name,22,D19,fuc,func,print,def 来源: https://www.cnblogs.com/xuwinwin/p/11327704.html