Python程序实验练习及代码

1.随机生成包含20个整数的列表,前十个元素升序排列,后十个元素降序排列。

1)练习目标

掌握列表元素的排序和sorted

2)思路提示

random库,sorted和sort排序

importrandom

x=list(random.randint(1,)foriinrange(10))

x.sort()

y=list(random.randint(1,)foriinrange(10))

y.sort(reverse=True)

x.extend(y)#此处若用x.append(y),则执行结果为第一条

print(x)

2.生成个的随机整数,以字典的形式统计每个整数出现的频率。

1)练习目标

掌握字典的基本操作和性质以及sorted的使用

2)思路提示

利用random、字典对象的get()方法、sorted()

importrandom

y={}

x=list(random.randint(1,)foriinrange())

foriteminx:

y[item]=y.get(item,0)+1

print(y)

3.生成包含30个随机数(取值范围是10~99)的列表,然后按其平方的百位数升序排列,百位数同的按值大小排列。

[42,24,31,34…]

[34,24,42,31…]

1)练习目标

key和lambda在排序中的应用

2)思路提示

使用列表推导式,sort(key=lambda….)

importrandom

fromoperatorimportitemgetter#内置函数引用

bwlist=list()

ls=list(random.randint(10,99)foriinrange(30))

#print(ls)

foriteminls:

bw=item*item//%10

bwlist.append(bw)

dj=zip(bwlist,ls)

#print(dj)

dj=sorted(dj)#(dj,key=itemgetter(1,0))#排序

#print(dj)

result=[x[1]forxindj]

print(result)

4.随机生成包含50个整数的列表(范围10~),用列表推导式选择出十位数为2的元素作为list1,选择出平方数(是某一个数的平方)作为list2。

1)练习目标

列表推导式的使用

importrandom

importmath

ls=list(random.randint(10,)foriinrange(50))

list1=[iforiinlsifi//10%10==2]

list2=[jforjinlsifmath.sqrt(j)*10//10==math.sqrt(j)]

print(list1)

print(list2)




转载请注明:http://www.aierlanlan.com/rzfs/2364.html