重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#你看看 符合要求吗? 我的理解是 mySet是集合,元素不重复的
西安网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
class mySet:
def __init__(self,mylist):
self.mylist=[]
for i in mylist:
if i not in self.mylist:
self.mylist.append(i)
def addElem(self,i):
if i not in self.mylist:
self.mylist.append(i)
def deleElem(self,i):
if i in self.mylist:
self.mylist.remove(i)
def interse(self,other):
temp=[i for i in self.mylist if i in other.mylist]
return mySet(temp)
def union(self,other):
temp=[i for i in self.mylist ]
for j in other.mylist:
if j not in temp:
temp.append(j)
return mySet(temp)
def subtract(self,other):
temp=[i for i in self.mylist if i not in other.mylist ]
return mySet(temp)
def __add__(self,other):
return self.union(other)
def __sub__(self,other):
return self.subtract(other)
def __string__(self):
return str(self.mylist)
def __repr__(self):
return self.__string__()
def test():
list1=[1,3,5,7]
list2=[2,4,6,8]
list3=[1,4,7,10]
s1=mySet(list1)
s2=mySet(list2)
s3=mySet(list3)
s1.addElem(7)
s2.deleElem(6)
ss=s1+s2
tt=ss-s3
xx=s1.interse(s3)
print ss
print tt
print xx
if __name__=="__main__":
test()
def get_min(mylist):
try:
x=mylist[0]
except:
print "列表为空"
return
for y in mylist:
x= (xy and [x] or [y])[0]
return x
def get_slice(mylist,start,stop,step=1):
length=len(mylist)
stop=(stop+length)%length
start=(start+length)%length
num=(stop-start)/step
temp=[]
if num=0:
temp=[mylist]
start+=step
for i in range(num):
if start==stop:break
temp.append(mylist)
start+=step
return temp
1.【选择】 下面哪个选项不是定义列表的正确方式?( D)
D.myList4 = 2,3,4,5
答案解析:这是定义元组的方式,而不是列表
2.【选择】根据下面表达式,a的值是:( C)
C.lo Wo
3.【填空】请写出如何切片myList[]的倒数第3~5位。
myList[-3:-5]
4.【判断】列表内元素的下标是从0开始的。( √)
5.【选择】下列Python表达式可以将列表反向并改变原列表值的是:( D)
D.myList.reverse()
答案解析:切片会生成新的列表;reversed只是生成新的迭代器;只有 list.reverse()会对原表的值进行改变
-----------
1.【判断】Python语句“x = "a","b","c"”中,x是一个元组。(√ )
2.【选择】执行下列Python语句会报错的是:( A)
A.myTuple[3] = 30
答案解析:元组是immutable(不可变)的,所以不能改变元组的值
3.【填空】使用Python内置函数,计算元组myTuple的语句是:
sum(myTuple)
4.【选择】下列关于Python的描述错误的是:( C)
C.对元组内部元素进行排序使用的是sort()
答案解析:元组不可变,所以不能对元素进行排序
------------
1.【选择】下列关于Python中字符串说法错误的是:( D)
D.Python中字符类型是char,字符串的类型是str
答案解析:python字符和字符串类型都是str
3.【填空】请写出用空格“ ”合并字符串“Jane”、“Doe”的Python语句:
"Jane" + " " + "Doe"
4.【选择】下列不是Python3中解决路径中特殊字符问题的选项是:( C)
C.s = u"D:\test"
------------
1.【选择】下列不是序列的是:(C )
C.集合
3.【选择】下面哪些操作是序列都具有的?( D)
D.以上都是
-----
1.【判断】Python中符号{}仅用在集合这一数据类型中。(B.× )
3.【填空】语句set("datascience")的结果是:
集合 {'d', 'a', 't', 's', 'c', 'i', 'e', 'n'}
4.【选择】下列关于集合的说法错误的是:(A )
A.集合具有互异性,定义集合时不允许出现相同的元素
答案解析:出现了重复也没事,会自动去重的。
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?( C)
C.集合
---------
1.【填空】有两个列表 a = ["name","age","sex"],b = ["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。
dict(zip(a, b))
2.【填空】定义一个新字典如下,用print输出dict1的结果是:
{1: 3, 2: 'a'}
4.【判断】下面对字典d的定义是正确的。(B.× )
答案解析:列表不能用做键。应该用元组('a','b')做键 。
推断函数sumn是求奇数的和。
如果不包括7
第1空:n
第2空: 9
如果包括7
第1空:n+1
第2空:16
又快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到我的文章,你就偷着乐吧,我总结出:一般python期末考试老师们最爱考的内容,一定要好好看啊,争取做到python不挂科;还有暑假马上来了,小伙伴们可以在闲暇之际,看看小猿圈的视频,为以后找工作垫垫基础,也是很不错的。
一、选择题
1、已知x=[1,2]和y=[3,4],那么x+y等于什么( )
A、3 B、7 C、[1,2,3,4] D、[4,6]
2、os.path模块的下列方法,哪个是用来判断指定路径是否存在的?( )
A、exists() B、exist() C、getsize() D、isfile()
3、以下选项中不是 Python 对文件的写操作方法的是 ( D )
A、 writelines B、write C、rite 和 seek D、writetext
4、关于算法的描述,以下选项中错误的是 ( B )
A、算法是指解题方案的准确而完整的描述
B、算法的复杂度主要包括时间复杂度和数据复杂度
C、算法具有可行性、确定性、有穷性的基本特征
D、算法的基本要素包括数据对象的运算和操作及算法的控制结构
解释:算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。
5、.关于Python的lambda函数,以下选项中描述错误的是 ( B )
A、 lambda函数将函数名作为函数结果返回
B、f = lambda x,y:x+y 执行后,f的类型为数字类型
C、lambda用于定义简单的、能够在一行内表示的函数
D、可以使用lambda函数定义列表的排序原则
6、基本的Python内置函数eval(x)的作用是 ( B )
A、 将x转换成浮点数
B、去掉字符串x最外侧引号,当作Python表达式评估返回其值
C、计算字符串x作为Python语句的值
D、 将整数x转换为十六进制字符串
二、填空题
1、 在Python中____表示空类型。(None)
2、 查看变量类型的Python内置函数是______。(type())
3、list(map(str, [1, 2, 3]))的执行结果为___________。([‘1’, ‘2’, ‘3’])
4、 Python标准库math中用来计算平方根的函数是____。(sqrt)
5、 假设有列表a = [‘name’, ‘age’, ‘sex’]和b = [‘Dong’, 38, ‘Male’],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为___________。(c = dict(zip(a, b)))
三、简答题
1、简单解释Python基于值的自动内存管理方式?
----Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。
2、异常和错误有什么区别?
----异常是指因为程序执行过程中出错而在正常控制流以外采取的行为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。
3、请用自己的算法, 按升序合并如下两个list, 并去除重复的元素:
list1 = [2, 3, 7, 4, 9, 5, 6,18]
list2 = [5, 6, 10, 17, 3, 2,1]
----先转换成集合自动去重,再转换成列表
list1=[2, 3, 7, 4, 9, 5, 6,18]
list2=[5, 6, 10, 17, 3, 2,1]
list3=list(set(list1+list2))
4、求结果
def num():
return [lambda x: i*x for i in range(4)]
print([m(2) for m in num()])
答案:[6, 6, 6, 6]
5、如何生成一个随机数?
import random
def rdm(n):
lis = []
for i in range(n):
n = random.randint(1,9)
lis.append(str(n))
s = ''.join(lis)
return int(s)
这套题就到这里,同学们做的怎么样啊,如果是毫无压力,那估计你这个学期学的python还阔以了,如果有点难度,那就要仔细看看了,因为这套题很基础,看哪没有学明白,好好看看那一部分的内容,自己复习不进去,也可以来小猿圈看看,把自己的弱项重新听听课,准备迎接期末考试吧,希望大家考的都会,蒙的全对,加油啦!