实验3

task1

 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.[0,1,2,3,4]不包括5

[1,2,3,4],不包括5

3.是的

4.是的

 

task2

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

 

task3

 1 import math
 2 temperatures= [['2022-04-18', '星期一', '10', '22'],
 3 ['2022-04-19', '星期二', '10', '22'],
 4 ['2022-04-20', '星期三', '12', '25'],
 5 ['2022-04-21', '星期四', '13', '28'],
 6 ['2022-04-22', '星期五', '16', '31'],
 7 ['2022-04-23', '星期六', '19', '31'],
 8 ['2022-04-24', '星期日', '19', '27']]
 9 min_temp = []
10 max_temp = []
11 for i in temperatures:
12     min_temp.append(i[2])
13     max_temp.append(i[3])
14 min_temp.sort()
15 max_temp.sort(reverse=True)
16 print(f"未来一周最低温度:{min_temp[0]}℃\n未来一周最高温度:{max_temp[0]}℃")
17 
18 
19 def aver(z):
20     """计算平均值"""
21     sum_ = 0
22     for q in z:
23         sum_ += int(q)
24     ave = sum_ / len(z)
25     return ave
26 
27 
28 print(f"未来一周平均气温区间:{math.floor(aver(min_temp))}~{math.floor(aver(max_temp))}")

 

task4

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

 

task5

 1 x, n = eval(input("输入十进制整数和要转换的进制n(2或8或16): "))
 2 y = []
 3 hex_v = ["A", "B", "C", "D", "E", "F"]
 4 while x != 0:
 5     p = x % n
 6     if n == 16:
 7         if p > 9:
 8             gw = p%10
 9             p = hex_v[gw]
10     y.append(p)
11     x = x // n
12 y.reverse()
13 z = "".join("%s" % i for i in y)
14 print(z)

 

posted @ 2022-04-26 16:41  yfxyyczs  阅读(10)  评论(1编辑  收藏  举报