python天天向上每十天休息一天_Python基础第十天
#第三次作業(yè)講解:
#2.根據(jù)范圍獲取其中3和7整除的所有數(shù)的和,并返回調用者#符合條件的數(shù)字個數(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 集合獲取兩個列表 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)計一個字符串中大寫字母、小寫字母、數(shù)字的個數(shù),并以字典為結果返回給調用者
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、檢查代碼,如有錯誤請改正(禁止運行代碼):##a.
deffunc(x,y,z):print(x,y,z)
func(1,2,3)## 輸出結果為:123#### b.
def func(x,z,y=5):print(x,y,z)
func(1,3,3)## 輸出結果為:133#### c.
def func(x,y,*z):print(x,y,z)
func(1,2,3,4,5,6)## 輸出結果為:12(3,4,5,6)#### d.
def func(x,y,*z):print(x,y,z)
func(1,2,3,4,5,6,6)## 輸出結果為:1 2(3,4,5,6,6)#### e.
def func(x,*z,**y):print(x,y,z)
func(1,2,3)## 輸出結果為:1{}(2,3)#### f.
def func(x,*y,**z):print(x,y,z)
func(1,name=2,age=3)## 輸出結果為:1(){"name":2,"age":3}#### g.
def func(x,*y,**z):print(x,y,z)
func(1,2,3,4, name=2,age=3)## 輸出結果為:1(2,3,4){"name":2,"age":3}#### h.
def func(x=2,*y,**z):print(x,y,z)
func(name=2,age=3)## 輸出結果為:2(){'name':2,'age':3}#13、書寫輸出結果(禁止運行代碼):#a.
def func(*y,**z):print(y,z)
func(1,2,3,4,5)## 輸出結果為:(1,2,3,4,5){}###### b.
def func(*y,**z):print(y,z)
func([1,2,3,4,5])## 輸出結果為:([1,2,3,4,5]){}#### c.
def func(*y,**z):print(y,z)
func(*[1,2,3,4,5])## 輸出結果為:(1,2,3,4,5){}#### d.
def func(*y,**z):print(y,z)
func(*[1,2,3,4,5],name="alex",age=19)## 輸出結果為:(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})## 輸出結果為:(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})## 輸出結果為:(1,2,3,4,5){ "name":"alex","age":19}#14、書寫執(zhí)行結果(禁止運行代碼)
def func1(x=1,*y,**z):print(x,y,z)return y #結束的標志
print(x)deffunc2(arg):
ret= func1(name=arg)print(ret)
result= func2("Fuck")print(result)#輸出結果為:1(){"name":"fuck"} () None#15、書寫執(zhí)行結果(禁止運行代碼)
deffunc(arg):
arg.append(55)
li= [11, 22, 33, 44]
func(li)print(li)
li=func(li)print(li)#輸出結果為:[11, 22, 33, 44,55] None#16、書寫執(zhí)行結果(禁止運行代碼)
deff1(arg):print(arg+100)deff2(arg):
ret= f1(arg+1)print(arg)print(ret)
ret= f2(7)print(ret)#輸出結果為:108 7 None#17、簡述 Python3 中的 range 函數(shù)和 Python2.7 中的 range 函數(shù)有什么區(qū)別#3.x range 不會生成值 只有用的時候才會生成 封裝成函數(shù) 迭代器#2.7 range 會直接生成一個列表,值已經(jīng)生成#
#18、書寫執(zhí)行結果(禁止運行代碼)
a = "oldboy %"
print(a)## 輸出結果為:oldboy %
b = "oldboy %d %%" % (12,)print(b)#輸出結果為:oldboy 12%#20、書寫執(zhí)行結果(禁止運行代碼)
deffunc(a1):return a1 + 100func= lambda a1: a1 + 200ret= func(10)print(ret)#輸出結果為:210 #函數(shù)覆蓋#23、將字符串 "老男人" 轉換成 UTF-8 編碼的字節(jié)類型
name='老男人'
print(bytes(name,encoding='utf-8'))print(name.encode('utf-8'))#24、利用內置函數(shù)將十進制數(shù)字 12,分別轉換成 二進制、八進制、十六進制 表示的字符串
print(bin(12))print(oct(12))print(hex(12))#26、利用內置函數(shù) zip(),實現(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、判斷輸出結果是否相同?并可得到什么結論?
deff1(arg):print(id(arg))
n= 1111111
print(id(n))
f1(n)#輸出的兩個值是否相同: 相同#執(zhí)行函數(shù)是調用變量值不是復制#
#28、書寫執(zhí)行結果(禁止運行代碼)#a.
NAMELIST = ["alex", "eric"]deffunc():
NAMELIST= 123func()print(NAMELIST)#輸出結果為:["alex", "eric"]#b.
NAMELIST = ["alex", "eric"]deffunc():globalNAMELIST
NAMELIST= 123func()print(NAMELIST)#輸出結果為:123#c.
NAMELIST = ["alex", "eric"]deffunc():
NAMELIST.append("seven")
func()print(NAMELIST)#輸出結果為:["alex", "eric","seven"]#d.
NAMELIST = ["alex", "eric"]deffunc():
NAMELIST= 123
globalNAMELIST
func()print(NAMELIST)#輸出結果為:["alex", "eric"]#29、書寫執(zhí)行結果(禁止運行代碼)#a.
name = "root"
deffunc():
name= "seven"
defouter():
name= "eric"
definner():globalname
name= "蒙逼了吧..."
print(name)print(name)
ret=func()print(ret)print(name)#輸出結果為: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)#輸出結果為: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)#輸出結果為: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)#輸出結果為:#30、書寫執(zhí)行結果并解釋每一步操作#a.
name = "蒼老師"
defouter(func):
name= 'alex'func()#結果,就是執(zhí)行的show
defshow():print(name)
outer(show)#結果:蒼老師#
#
#b.
name = "蒼老師"
defouter():
name= "波多"
definner():print(name)returninner()
ret=outer()print(ret)#輸出結果為:波多 None#c.
name = "蒼老師"
defouter():
name= "波多"
definner():print(name)returninner
ret=outer()
ret()print(ret)
result=ret()print(result)#輸出結果為:波多 inne的內存地址 None#
#
#d.
name = "蒼老師"
defouter():
name= "波多"
definner():print(name)return inner #返回內存地址
ret =outer()print(ret)
result= ret()#執(zhí)行inner函數(shù),打印波多
print(result)#inner無返回值 打印的是None#輸出結果為:inner的內存地址 波多 None#
#e.
name = "蒼老師"
defouter(func):definner():
name= "李杰"func()returninnerdefshow():print(name)#打印全局的
outer(show)()#輸出結果為:蒼老師#
#31、書寫執(zhí)行結果并解釋每一步操作#a.
defouter(func,z,y):
func(z)defshow(x):return x *x
ret= outer(show,9,23)print(ret)#輸出結果為:None#
## c.
defouter(func,z,y):returnfunc(z)defshow(x):return x *x
ret= outer(show,9,23)print(ret)#輸出結果為:81#defouter(func,z,y):
func(z,y)
f1= lambda x,y: x +y
ret= outer(f1,11,23)print(ret)#輸出結果為:None#
#d.
defouter(func,z,y):returnfunc(z,y)
f1= lambda x,y: x +y
ret= outer(f1,11,23)print(ret)#輸出結果為:34#
#32、寫輸出結果#a.
deff5(arg):
arg.append('偷到 500 萬')deff4(arg):
arg.append('開第四個門')
f5(arg)
arg.append('關第四個門')deff3(arg):
arg.append('開第三個門')
f4(arg)
arg.append('關第三個門')deff2(arg):
arg.append('開第二個門')
f3(arg)
arg.append('關第二個門')deff1(arg):
arg.append('開一個門')
f2(arg)
arg.append('關一個門')
user_list=[]
result=f1(user_list)print(user_list)print(result)## 輸出結果為:['開一個門','開第二個門','開第三個門','開第四個門''偷到 500 萬','關第四個門','關第三個門','關第二個門','關一個門'] 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)#輸出結果為: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) 因為無法返回則為3
arg = arg + 1
returnarg
num= 1result=f1(num)print(num)print(result)#輸出結果為#33、利用遞歸實現(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 表達式 獲取 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 表達式 將所有是偶數(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、第一個列表中的數(shù)字無序不重復排列,第二個列表為空列表#需求:#取出第一個列表的最小值 放到第二個列表的首個位置,#取出第一個列表的最小值(僅大于上一次的最小值) 放到第二個列表的首個位置,#取出第一個列表的最小值(僅大于上一次的最小值) 放到第二個列表的首個位置, ...#依此類推,從而獲取一個有序的列表 l2,并將其返回給函數(shù)調用者。
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、猴子第一天摘下若干個桃子,當即吃了一半,還不過癮就多吃了一個。第二天早上又將剩下的桃子吃了一半,#還是不過癮又多吃 了一個。以后每天都吃前一天剩下的一半再加一個。到第 10 天剛好剩一個。#問猴子第一天摘了多少個桃子?1534
n= 1func=lambda x:(x+1)*2
for i in range(9):
n=func(n)print(n)
總結
以上是生活随笔為你收集整理的python天天向上每十天休息一天_Python基础第十天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农信银行是农商银行吗 农信是指的农商行吗
- 下一篇: python输入框_selenium+p