Python内置数据结构与操作符的练习题集锦
第一题:giveyoutwovaraandb,printthevalueofa+b,justdoit!
根据提议,给出两个变量a和b并打印出a+b的值.
a,b=1,2 printa+b
当然也可以这么做
a=1 b=2 printa+b
第二题:给你一个list,如L=[2,8,3,5],对L进行升序排序并输出。
L=sorted(L) printL #或 #sort()内置函数会对列表自身排序而sorted()会生成一个新的排序列表 L.sort() printL
第三题:给你一个字符串a,如a=‘12345',对a进行逆序输出。
#通过步进来逆序输出字符串。 a=a[::-1] printa
第四题:给你一个字典a={1:1,2:2,3:3},输出字典a的key,以','连接,如‘1,2,3'。
#dict.keys()会以list返回字典的key.而join会把list按,字符串','连接起来。 print','.join(a.keys())
第五题:给你一个字符串a,输出字符串奇数位置的字符串,如a=‘12345',则输出‘135'
#通过列表解析(也称列表推导式)来判断下表选取奇偶数。 print''.join([a[x]forxinrange(len(a))ifx%2==0])
第六题:输出所有100以内的素数,素数之间以空格区分。
#在加一行print才能运行通过 L=[xforxinrange(2,101)ifnot[yforyinrange(2,x)ifx%y==0]] foriinL: printL, print
第七题:已知矩形长a,宽b,输出其面积和周长,以一个空格隔开
printa*b,2*(a+b)
第八题:给你一个list,如L=[0,1,2,3,4]输出L的中位数
#中位数是指对已排序的数集取其中间数,数集为偶数取中间两数的平均 printsorted(L)[len(L)/2]iflen(L)%2!=0else\ (sorted(L)[Len(L)/2]+sorted(L)[len(L)/2-1])/2.0
第九题:给你两个正整数a和b,输出它们的最大公约数。
printmax([xforxinrange(1,a+1)ifxin[yforyinrange(1,b+1)ifb%y==0]])
第十题:给你两个正整数a和b,输出它们的最小公倍数.
printmin([xforxinrange(a,a*b+1)ifx%a==0andx%b==0])
附加题:利用map/reduce函数实现数的阶乘如5!+4!+3!+2!+1!.
printmap(lambdax:reduce(lambday,z:y*z,range(1,x+1)),range(1,6)) #print[1,2,6,24,120],所以在用reduce合起来 printreduce(lambdaa,b:a+b,map(lambdax:\ reduce(lambday,z:y*z,range(1,x+1)),range(1,6)))
附加题:使用filter函数实现素数
printfilter(lambdax:not[x%iforiinrange(2,x)ifx%i==0],range(2,101))