python天天向上每十天休息一天_Python基础第十天
#第三次作業(yè)講解:
#2.根據(jù)范圍獲取其中3和7整除的所有數(shù)的和,并返回調(diào)用者#符合條件的數(shù)字個(gè)數(shù)以及符合條件的數(shù)字的總數(shù)和
deffunc(start,end):
n=[]
sum=0for i in range(100):if i % 3 == 0 and i % 7 ==0:
n.append(i)
sum+=iprint(len(n))print('總數(shù)和是 %d' %sum)
func(1,100)#8、使用 set 集合獲取兩個(gè)列表 l1 = [11, 22, 33], l2 = [22, 33, 44] 中相同的元素集合
l1 = [11, 22, 33]
l2= [22, 33, 44]
same=set(l1)&set(l2)print(same)#9、定義函數(shù)統(tǒng)計(jì)一個(gè)字符串中大寫字母、小寫字母、數(shù)字的個(gè)數(shù),并以字典為結(jié)果返回給調(diào)用者
defnum(ret):
yy={'大寫':0,'小寫':0,'數(shù)字':0}for i inret:
i=str(i)ifi.isupper():
yy['大寫']+=1
elifi.islower():
yy['小寫']+=1
elifi.isdecimal():
yy['數(shù)字']+=1
returnyy
ret=input('>>>')print(num(ret)#11、檢查代碼,如有錯誤請改正(禁止運(yùn)行代碼):##a.
deffunc(x,y,z):print(x,y,z)
func(1,2,3)## 輸出結(jié)果為:123#### b.
def func(x,z,y=5):print(x,y,z)
func(1,3,3)## 輸出結(jié)果為:133#### c.
def func(x,y,*z):print(x,y,z)
func(1,2,3,4,5,6)## 輸出結(jié)果為:12(3,4,5,6)#### d.
def func(x,y,*z):print(x,y,z)
func(1,2,3,4,5,6,6)## 輸出結(jié)果為:1 2(3,4,5,6,6)#### e.
def func(x,*z,**y):print(x,y,z)
func(1,2,3)## 輸出結(jié)果為:1{}(2,3)#### f.
def func(x,*y,**z):print(x,y,z)
func(1,name=2,age=3)## 輸出結(jié)果為:1(){"name":2,"age":3}#### g.
def func(x,*y,**z):print(x,y,z)
func(1,2,3,4, name=2,age=3)## 輸出結(jié)果為:1(2,3,4){"name":2,"age":3}#### h.
def func(x=2,*y,**z):print(x,y,z)
func(name=2,age=3)## 輸出結(jié)果為:2(){'name':2,'age':3}#13、書寫輸出結(jié)果(禁止運(yùn)行代碼):#a.
def func(*y,**z):print(y,z)
func(1,2,3,4,5)## 輸出結(jié)果為:(1,2,3,4,5){}###### b.
def func(*y,**z):print(y,z)
func([1,2,3,4,5])## 輸出結(jié)果為:([1,2,3,4,5]){}#### c.
def func(*y,**z):print(y,z)
func(*[1,2,3,4,5])## 輸出結(jié)果為:(1,2,3,4,5){}#### d.
def func(*y,**z):print(y,z)
func(*[1,2,3,4,5],name="alex",age=19)## 輸出結(jié)果為:(1,2,3,4,5){"name":"alex","age":19}#### e.
def func(*y,**z):print(y,z)
func(*[1,2,3,4,5], { "name":"alex","age":19})## 輸出結(jié)果為:(1,2,3,4,5,{ "name":"alex","age":19}){}#### f.
def func(*y,**z):print(y,z)
func(*[1,2,3,4,5], **{ "name":"alex","age":19})## 輸出結(jié)果為:(1,2,3,4,5){ "name":"alex","age":19}#14、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)
def func1(x=1,*y,**z):print(x,y,z)return y #結(jié)束的標(biāo)志
print(x)deffunc2(arg):
ret= func1(name=arg)print(ret)
result= func2("Fuck")print(result)#輸出結(jié)果為:1(){"name":"fuck"} () None#15、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)
deffunc(arg):
arg.append(55)
li= [11, 22, 33, 44]
func(li)print(li)
li=func(li)print(li)#輸出結(jié)果為:[11, 22, 33, 44,55] None#16、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)
deff1(arg):print(arg+100)deff2(arg):
ret= f1(arg+1)print(arg)print(ret)
ret= f2(7)print(ret)#輸出結(jié)果為:108 7 None#17、簡述 Python3 中的 range 函數(shù)和 Python2.7 中的 range 函數(shù)有什么區(qū)別#3.x range 不會生成值 只有用的時(shí)候才會生成 封裝成函數(shù) 迭代器#2.7 range 會直接生成一個(gè)列表,值已經(jīng)生成#
#18、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)
a = "oldboy %"
print(a)## 輸出結(jié)果為:oldboy %
b = "oldboy %d %%" % (12,)print(b)#輸出結(jié)果為:oldboy 12%#20、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)
deffunc(a1):return a1 + 100func= lambda a1: a1 + 200ret= func(10)print(ret)#輸出結(jié)果為:210 #函數(shù)覆蓋#23、將字符串 "老男人" 轉(zhuǎn)換成 UTF-8 編碼的字節(jié)類型
name='老男人'
print(bytes(name,encoding='utf-8'))print(name.encode('utf-8'))#24、利用內(nèi)置函數(shù)將十進(jìn)制數(shù)字 12,分別轉(zhuǎn)換成 二進(jìn)制、八進(jìn)制、十六進(jìn)制 表示的字符串
print(bin(12))print(oct(12))print(hex(12))#26、利用內(nèi)置函數(shù) zip(),實(shí)現(xiàn)功能
l1 = ["alex",22,33,44,55]
l2= ["is",22,33,44,55]
l3= ["good",22,33,44,55]
l4= ["guy",22,33,44,55]## 請獲取字符串 s = "alex_is_good_guy"
print('_'.join((list(zip(l1,l2,l3,l4))[0])))#27、判斷輸出結(jié)果是否相同?并可得到什么結(jié)論?
deff1(arg):print(id(arg))
n= 1111111
print(id(n))
f1(n)#輸出的兩個(gè)值是否相同: 相同#執(zhí)行函數(shù)是調(diào)用變量值不是復(fù)制#
#28、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)#a.
NAMELIST = ["alex", "eric"]deffunc():
NAMELIST= 123func()print(NAMELIST)#輸出結(jié)果為:["alex", "eric"]#b.
NAMELIST = ["alex", "eric"]deffunc():globalNAMELIST
NAMELIST= 123func()print(NAMELIST)#輸出結(jié)果為:123#c.
NAMELIST = ["alex", "eric"]deffunc():
NAMELIST.append("seven")
func()print(NAMELIST)#輸出結(jié)果為:["alex", "eric","seven"]#d.
NAMELIST = ["alex", "eric"]deffunc():
NAMELIST= 123
globalNAMELIST
func()print(NAMELIST)#輸出結(jié)果為:["alex", "eric"]#29、書寫執(zhí)行結(jié)果(禁止運(yùn)行代碼)#a.
name = "root"
deffunc():
name= "seven"
defouter():
name= "eric"
definner():globalname
name= "蒙逼了吧..."
print(name)print(name)
ret=func()print(ret)print(name)#輸出結(jié)果為:seven None root#b.
name = "root"
deffunc():
name= "seven"
defouter():
name= "eric"
definner():globalname
name= "蒙逼了吧..."
print(name)
o=outer()print(o)print(name)
ret=func()print(ret)print(name)#輸出結(jié)果為:eric None seven None root#c.
name = "root"
deffunc():
name= "seven"
defouter():
name= "eric"
definner():globalname
name= "..."
print(name)
inner()
o=outer()print(o)print(name)
ret=func()print(ret)print(name)#輸出結(jié)果為:eric None seven None ...#d.
name = "root"
deffunc():
name= "seven"
defouter():
name= "eric"
definner():
nonlocal name
name= "蒙逼了吧..."
print(name)
inner()
o=outer()print(o)print(name)
ret=func()print(ret)print(name)#輸出結(jié)果為:#30、書寫執(zhí)行結(jié)果并解釋每一步操作#a.
name = "蒼老師"
defouter(func):
name= 'alex'func()#結(jié)果,就是執(zhí)行的show
defshow():print(name)
outer(show)#結(jié)果:蒼老師#
#
#b.
name = "蒼老師"
defouter():
name= "波多"
definner():print(name)returninner()
ret=outer()print(ret)#輸出結(jié)果為:波多 None#c.
name = "蒼老師"
defouter():
name= "波多"
definner():print(name)returninner
ret=outer()
ret()print(ret)
result=ret()print(result)#輸出結(jié)果為:波多 inne的內(nèi)存地址 None#
#
#d.
name = "蒼老師"
defouter():
name= "波多"
definner():print(name)return inner #返回內(nèi)存地址
ret =outer()print(ret)
result= ret()#執(zhí)行inner函數(shù),打印波多
print(result)#inner無返回值 打印的是None#輸出結(jié)果為:inner的內(nèi)存地址 波多 None#
#e.
name = "蒼老師"
defouter(func):definner():
name= "李杰"func()returninnerdefshow():print(name)#打印全局的
outer(show)()#輸出結(jié)果為:蒼老師#
#31、書寫執(zhí)行結(jié)果并解釋每一步操作#a.
defouter(func,z,y):
func(z)defshow(x):return x *x
ret= outer(show,9,23)print(ret)#輸出結(jié)果為:None#
## c.
defouter(func,z,y):returnfunc(z)defshow(x):return x *x
ret= outer(show,9,23)print(ret)#輸出結(jié)果為:81#defouter(func,z,y):
func(z,y)
f1= lambda x,y: x +y
ret= outer(f1,11,23)print(ret)#輸出結(jié)果為:None#
#d.
defouter(func,z,y):returnfunc(z,y)
f1= lambda x,y: x +y
ret= outer(f1,11,23)print(ret)#輸出結(jié)果為:34#
#32、寫輸出結(jié)果#a.
deff5(arg):
arg.append('偷到 500 萬')deff4(arg):
arg.append('開第四個(gè)門')
f5(arg)
arg.append('關(guān)第四個(gè)門')deff3(arg):
arg.append('開第三個(gè)門')
f4(arg)
arg.append('關(guān)第三個(gè)門')deff2(arg):
arg.append('開第二個(gè)門')
f3(arg)
arg.append('關(guān)第二個(gè)門')deff1(arg):
arg.append('開一個(gè)門')
f2(arg)
arg.append('關(guān)一個(gè)門')
user_list=[]
result=f1(user_list)print(user_list)print(result)## 輸出結(jié)果為:['開一個(gè)門','開第二個(gè)門','開第三個(gè)門','開第四個(gè)門''偷到 500 萬','關(guān)第四個(gè)門','關(guān)第三個(gè)門','關(guān)第二個(gè)門','關(guān)一個(gè)門'] None#### b.
deff5(arg):
arg= arg + 5
deff4(arg):
arg= arg + 4f5(arg)
arg= arg + 4
deff3(arg):
arg= arg + 3f4(arg)
arg= arg + 3
deff2(arg):
arg= arg + 2f3(arg)
arg= arg + 2
deff1(arg):
arg= arg + 1f2(arg)
arg= arg + 1num= 1result=f1(num)print(num)print(result)#輸出結(jié)果為:1 None#
#c.
deff5(arg):
arg= arg + 5
returnargdeff4(arg):
arg= arg + 4f5(arg)
arg= arg + 4
returnargdeff3(arg):
arg= arg + 3f4(arg)
arg= arg + 3
returnargdeff2(arg):
arg= arg + 2f3(arg)
arg= arg + 2
returnargdeff1(arg):
arg= arg + 1f2(arg)#執(zhí)行完f2(arg) 因?yàn)闊o法返回則為3
arg = arg + 1
returnarg
num= 1result=f1(num)print(num)print(result)#輸出結(jié)果為#33、利用遞歸實(shí)現(xiàn) 1*2*3*4*5*6*7=5040#法一:
from functools importreduce
res=reduce(lambda x,y:x*y,[x for x in range(1,8)])print(res)#法二:
deffunc(x,y):
y*=x
x+= 1
if x == 8:returnyreturnfunc(x,y)
res=func(2,1)print(res)#34 a. 利用 filter、自定義函數(shù) 獲取 l1 中元素大于 33 的所有元素 l1 = [11, 22, 33, 44, 55]
l1 = [11, 22, 33, 44, 55]
res=filter(lambda x:x > 33,l1)print(list(res))#b.利用 filter、lambda 表達(dá)式 獲取 l1 中元素小于 33 的所有元素 l1 = [11, 22, 33, 44, 55]
l1 = [11, 22, 33, 44, 55]
res=filter(lambda x:x < 33,l1)print(list(res))#c.利用 map、自定義函數(shù) 將所有是奇數(shù)的元素加 100 l1 = [11, 22, 33, 44, 55]
l1 = [11, 22, 33, 44, 55]defjsj(i):if i % 2 ==1:
i= i + 100
returnielse:returniprint(list(map(jsj,l1)))#d.利用 map、lambda 表達(dá)式 將所有是偶數(shù)的元素加 100 l1 = [11, 22, 33, 44, 55]
l1 = [11, 22, 33, 44, 55]
res=map(lambda i:i+100 if i%2==0 elsei,l1)print(list(res))#36、第一個(gè)列表中的數(shù)字無序不重復(fù)排列,第二個(gè)列表為空列表#需求:#取出第一個(gè)列表的最小值 放到第二個(gè)列表的首個(gè)位置,#取出第一個(gè)列表的最小值(僅大于上一次的最小值) 放到第二個(gè)列表的首個(gè)位置,#取出第一個(gè)列表的最小值(僅大于上一次的最小值) 放到第二個(gè)列表的首個(gè)位置, ...#依此類推,從而獲取一個(gè)有序的列表 l2,并將其返回給函數(shù)調(diào)用者。
l1 = [1,5,4,6,8,3,2,9,0]
l2=[]deffunc(la,lb):if len(la) ==0:returnlb
lb.insert(0,la.pop(la.index(min(la))))
ret=func(la,lb)returnret
func(l1,l2)print(l2)#37、猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過癮就多吃了一個(gè)。第二天早上又將剩下的桃子吃了一半,#還是不過癮又多吃 了一個(gè)。以后每天都吃前一天剩下的一半再加一個(gè)。到第 10 天剛好剩一個(gè)。#問猴子第一天摘了多少個(gè)桃子?1534
n= 1func=lambda x:(x+1)*2
for i in range(9):
n=func(n)print(n)
總結(jié)
以上是生活随笔為你收集整理的python天天向上每十天休息一天_Python基础第十天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农信银行是农商银行吗 农信是指的农商行吗
- 下一篇: 不需要再加入候选等待列表,用户现可直接访