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