实验三
1
1 import random 2 print('用列表存储随机整数: ') 3 ls = [random.randint(1, 100) for i in range(5)] 4 print(ls) 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,1和100都能取到
2.list(range(5))的范围是0到4,包括1不包括5
list(range(1,5))的范围是1到4,不包括5
3.使用line8生成的集合s1,s1不一定是5,字典中不能有重复的元素,如果有则会去掉,导致s1变短
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 } 12 13 a = list(datas.values()) 14 b = [str(x) for item in a for x in item] 15 c = {} 16 for i in b: 17 c[i] = b.count(i) 18 d = list(c.items()) 19 e = sorted(d, key=lambda x: x[1], reverse=True) 20 for m, n in e: 21 print(f'{m}:{n}')
3
1 a=[] 2 b=[] 3 m=0 4 n=0 5 temperatures= [['2022-04-18', '星期一', '10', '22'], 6 ['2022-04-19', '星期二', '10', '22'], 7 ['2022-04-20', '星期三', '12', '25'], 8 ['2022-04-21', '星期四', '13', '28'], 9 ['2022-04-22', '星期五', '16', '31'], 10 ['2022-04-23', '星期六', '19', '31'], 11 ['2022-04-24', '星期日', '19', '27']] 12 for i in range(0,len(temperatures)): 13 a.append(temperatures[i][2]) 14 min1=min(a) 15 for i in a: 16 m=m+int(i) 17 averagea=(int((m/len(temperatures)))) 18 19 for i in range(0,len(temperatures)): 20 b.append(temperatures[i][3]) 21 max1=max(b) 22 for i in b: 23 n=n+int(i) 24 averageb=(int((n/len(temperatures)))) 25 print('未来一周最低气温:'+min1+'℃') 26 print('未来一周最高气温:'+max1+'℃') 27 print('未来一周平均气温区间:'+str(averagea)+'℃'+'~'+str(averageb)+'℃')
4
1 import random 2 print('猜猜2022年5月哪一天会是你的lucky day:-)') 3 a=random.randint(1,31) 4 i=1 5 n=input('你有三次机会,猜吧(1~31): ') 6 n=int(n) 7 while i<=3: 8 if i==3: 9 if int(n)==a: 10 print('哇,猜中了:-)') 11 break 12 elif int(n)<a: 13 print('猜早了,你的lucky day还没到呢') 14 print('次数用光了') 15 print('偷偷告诉你,5月你的lucky day是'+str(a)+'号. good luck:-)') 16 break 17 elif int(n)>a: 18 print('猜晚了,你的lucky day已经过啦') 19 print('次数用光了') 20 print('偷偷告诉你,5月你的lucky day是'+str(a)+'号. good luck:-)') 21 break 22 elif i<3: 23 if int(n)==a: 24 print('哇,猜中了:-)') 25 break 26 elif int(n)<a: 27 print('猜早了,你的lucky day还没到呢') 28 n=input('再猜(1~31):') 29 i=i+1 30 continue 31 elif int(n)>a: 32 print('猜晚了,你的lucky day已经过啦') 33 n=input('再猜(1~31):') 34 i=i+1 35 continue
5
1 x,n=eval(input('输入十进制整数x和要转换的进制n(2或8或16): ')) 2 if n == 2: 3 print('{}的{}进制是:{:b}'.format(x, n, x)) 4 if n == 8: 5 print('{}的{}进制是:{:o}'.format(x, n, x)) 6 if n == 16: 7 print('{}的{}进制是:{:X}'.format(x, n, x))