实验三

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

问题1: random.randint(1,100) 生成的随机整数范围是?能否取到100?
大于等于1小于等于100,可以取到100
问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?
大于等于0小于5,不包括5
利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?
大于等于1小于5,不包括5
问题3:使用line8生成的集合s1,len(s1)一定是5吗?
不一定
问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?
一定
 1 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
 2          '2049777002': ['音乐', '旅行'],
 3          '2049777003': ['马拉松', '健身', '游戏'],
 4          '2049777004': [],
 5          '2049777005': ['足球', '阅读'],
 6          '2049777006': ['发呆', '闲逛'],
 7          '2049777007': [],
 8          '2049777008': ['书法', '电影'],
 9          '2049777009': ['音乐', '阅读', '电影', '漫画'],
10          '2049777010': ['数学', '推理', '音乐', '旅行']
11          }
12 n = [x for i in datas.values() for x in i]
13 counts = [(n.count(x),x) for x in set(n)]
14 counts.sort(reverse=True)
15 for i in counts:
16     print(f'{i[1]}:{i[0]}')

 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 x = [int(i[2]) for i in temperatures]
 9 y = [int(i[3]) for i in temperatures]
10 z = sum(x)//len(x)
11 t = sum(y)//len(y)
12 print(f'未来一周最低气温: {min(x)}℃')
13 print(f'未来一周最高气温: {max(y)}℃')
14 print(f'未来一周平均气温区间:{z}℃~{t}℃')

 1 import random
 2 n = 0
 3 t = [random.randint(1, 31) for i in range(1)]
 4 print('猜猜2022年5月哪一天会是你的lucky day:-)')
 5 x = int(input('你有三次机会,猜吧(1~31):  '))
 6 while n < 2:
 7     if x == t[0]:
 8         print('哇,猜中了:-)')
 9         break
10     elif x < t[0]:
11         print('猜早啦,你的lucky day还没到呢')
12         x = int(input('再猜(1~31): '))
13     else:
14         print('猜晚啦,你的lucky day已经过啦')
15         x = int(input('再猜(1~31): '))
16     n += 1
17 else:
18     print('次数用光啦。')
19     print(f'偷偷告诉你, 5月你的lucky day是{t[0]}号. good luck:-)')

 1 x,y = eval(input('输入十进制整数x和要转换的进制n(2或8或16): '))
 2 X,Y = x,y
 3 t = []
 4 x1 = ["A","B","C","D","E","F"]
 5 while x != 0:
 6     z = x % y
 7     if y == 16:
 8         if z > 9:
 9             w = z % 10
10             z = x1[w]
11     t.append(z)
12     x = x//y
13 t.reverse()
14 t1 = ''.join(str(i) for i in t)
15 print(f'{X}的{Y}进制是:{t1}')

 

posted @ 2022-04-25 21:00  张博睿  阅读(25)  评论(2编辑  收藏  举报