实验三

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))

 

posted @ 2022-04-23 21:06  lsqb27  阅读(24)  评论(3编辑  收藏  举报