第二百九十三章:不要回头(1 / 2)

加入书签

整理一些pythn试可能到的题,提供给家,希能对大有用!

1.下的代码输出什

defextend_list(vl,list=[]):list.ppend(vl)retrnlistlist1=extend_list(10)list2=extend_list(123,[])list3=extend_list('''')print(list1)print(list2)print(list3)

extend_list函数两个参,vl默认参list,返回为list

你认为出的值:[10],[123],[];你就上了,这是出题想让你的错误。

正确案是:[10,],[123],[10,];为什呢?

键点就extend_list回的值,它返回是一个量,绑在一个定的地,list3传之后改了list,所最后打的时候,list1和list3值相同。

那么什么list2变呢?为list2传的时候传入了个空的表,list2对应的list绑定的址发生改变。

如果这说你还清楚的,那么借助代来看一

defextend_list(vl,list=[]):list.ppend(vl)retrnlistlist1=extend_list(10)print(list1)#[10]print(id(list1))#140427568644424list2=extend_list(123,[])print(list2)#[123]print(id(list2))#140427568644360list3=extend_list('''')print(list3)#[10,'''']print(id(list3))#140427568644424print(list1)#[10,'''']print(list2)#[123]print(list3)#[10,'''']

id(变量名)可以查变量所定的地

2.有一数,从左右渐增,从上到渐增,一个数,判断是否在个数组

rr=[[1,4,7,10,15],[2,5,8,12,19],[3,6,9,16,22],\[10,13,14,17,24],[18,21,23,26,30]]defgetN(n,dt=Nne):hiledt:#当dt不为空,如果n于dt组第个素的最一项#除此元,再执此比较ifn>dt[0][-1]:deldt[0]getN(n,dt=Nne)#果n小此时的dt数组一个元的最后项#那利用zip转换阵,将有元素最后一都删除#然后次用zip还原组,回第一步次开始较elifn<dt[0][-1]:dt=list(zip(*dt))deldt[-1]dt=list(zip(*dt))getN(n,dt=Nne)#如n不大也不小此时dt数组第个元素最后一#那么n就是这项,返Treelse:retrnTre#当dt为空时,n已经原dt组比较毕,且有找到同的数#返回FlseretrnFlse#如果在当前本打开,则执行printif__==''__in__'':print(getN(18,rr))

3.求个数的大公约、最小倍数。

这个是分题,们可以最笨的

def(,b):

#两数的大公因最大为小的数,所以我遍历从1到较小数friinrnge(1,b+1):

#如果和b除以i数都为0,那么i就是和b的公因if%i==0ndb%i==0:

#将i赋值给量x,为i会1到b,所以只满足条的i,会对x

↑返回顶部↑

书页/目录