实验3 控制语句与组合数据类型应用编程

 实验任务1:
1
import random 2 print('用列表存储随机整数:') 3 Is=[random.randint(1,100) for i in range(5)] 4 print(Is) 5 print('\n用集合存储随机整数:') 6 s1={random.randint(1,100) for i in range(5)} 7 print(s1) 8 print('\n用集合存储随机整数:') 9 s2=set() 10 while(len(s2)<5): 11 s2.add(random.randint(1,100)) 12 print(s2)

问题1、随机整数的范围是1~100,不能取到100;

问题2、有序序列范围是0~5,不包括5;

      有序序列范围是1~5,不包括5;

问题3、使用line8生成的集合s1,len(s1)一定是5;

问题4、使用line12-14生成的集合s2,len(s2)一定是5。

 实验任务2:
1
datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], 2 '2049777002': ['音乐', '旅行'], 3 '2049777003': ['马拉松', '健身', '游戏'], 4 '2049777004': [], 5 '2049777005': ['足球', '阅读'], 6 '2049777006': ['发呆', '闲逛'], 7 '2049777007': [], 8 '2049777008': ['书法', '电影'], 9 '2049777009': ['音乐', '阅读', '电影', '漫画'], 10 '2049777010': ['数学', '推理', '音乐', '旅行']} 11 m={} 12 for i in datas.values(): 13 for j in i: 14 m[j]=m.get(j,0)+1 15 x=list(m.keys()) 16 y=list(m.values()) 17 z=[(y[i],x[i]) for i in range(len(x))] 18 for j in sorted(z,reverse=True): 19 print(f"{j[1]}:{j[0]}")

 

实验任务3:
1
temperatures= [['2022-04-18', '星期一', '10', '22'], 2 ['2022-04-19', '星期二', '10', '22'], 3 ['2022-04-20', '星期三', '12', '25'], 4 ['2022-04-21', '星期四', '13', '28'], 5 ['2022-04-22', '星期五', '16', '31'], 6 ['2022-04-23', '星期六', '19', '31'], 7 ['2022-04-24', '星期日', '19', '27']] 8 min_list=[] 9 max_list=[] 10 a=0 11 c=0 12 for i in temperatures: 13 min_list.append(i[2]) 14 max_list.append(i[3]) 15 for j in range(len(min_list)): 16 a=a+int(min_list[j]) 17 b=a/len(min_list) 18 for k in range(len(max_list)): 19 c=c+int(max_list[k]) 20 d=c/len(max_list) 21 print('未来一周最低气温:',min(min_list),'') 22 print('未来一周最高气温:',max(max_list),'') 23 print('未来一周平均气温区间:',int(b),'℃~',int(d),'')

 

 实验任务4:
1
import random 2 x=random.randint(1,31) 3 print('猜猜2022年5月哪一天会是你的lucky day:',x) 4 x1=int(input('你有三次机会,猜吧(1~31):')) 5 if x1==x: 6 print('哇,猜中了') 7 elif x1<x: 8 print('猜早啦,你的lucky day还没到呢') 9 x2=int(input('再猜(1~31):')) 10 if x2==x: 11 print('哇,猜中了') 12 elif x2<x: 13 print('猜早啦,你的lucky day还没到呢') 14 x3=int(input('再猜(1~31):')) 15 if x3==x: 16 print('哇,猜中了') 17 else: 18 print('次数用完啦') 19 print('偷偷告诉你,5月你的lucky day是',x,'号.good lucky') 20 else: 21 print('猜晚啦,你的lucky day已经过啦') 22 x3=int(input('再猜(1~31):')) 23 if x3==x: 24 print('哇,猜中了') 25 else: 26 print('次数用完啦') 27 print('偷偷告诉你,5月你的lucky day是',x,'号.good lucky') 28 else: 29 print('猜晚啦,你的lucky day已经过啦') 30 x2=int(input('再猜(1~31):')) 31 if x2==x: 32 print('哇,猜中了') 33 elif x2<x: 34 print('猜早啦,你的lucky day还没到呢') 35 x3=int(input('再猜(1~31):')) 36 if x3==x: 37 print('哇,猜中了') 38 else: 39 print('次数用完啦') 40 print('偷偷告诉你,5月你的lucky day是',x,'号.good lucky') 41 else: 42 print('猜晚啦,你的lucky day已经过啦') 43 x3=int(input('再猜(1~31):')) 44 if x3==x: 45 print('哇,猜中了') 46 else: 47 print('次数用完啦') 48 print('偷偷告诉你,5月你的lucky day是',x,'号.good lucky')

 

实验任务5:
1
x,n=eval(input('输入十进制整数x和要转换的进制n(2或8或16):')) 2 a=0 3 if n==2: 4 a=bin(x) 5 elif n==8: 6 a=oct(x) 7 else: 8 a=hex(x) 9 print(x,'',n,'进制是:',a[2:])

 

实验总结:

1、通过本次实验,我学会了如何对列表内的数据排序,如何将十进制数转换为二进制或八进制或十六进制;

2、问题:对于如何精简编写循环还不够熟练,代码较繁琐;一些知识点的掌握还不够熟练。

posted @ 2022-04-20 23:07  暮渎  阅读(21)  评论(1编辑  收藏  举报