实践任务3 ……
task_2
def takeSecond(elem): return elem[1] data = {'2049777001':['篮球','羽毛球','美食','漫画'], '2049777002': ['音乐', '旅行'], '2049777003': ['马拉松', '健身', '游戏'], '2049777004': [], '2049777005': ['足球', '阅读'], '2049777006': ['发呆', '闲逛'], '2049777007': [], '2049777008': ['书法', '电影'], '2049777009': ['音乐', '阅读', '电影', '漫画'], '2049777010': ['数学', '推理', '音乐', '旅行'] } data1 = [] data2 = [] a = list(data.values()) for i in a: for j in i: data1.append(j) data1.sort() for i in list(set(data1)): h = (i,data1.count(i)) data2.append(h) data2.sort(key=takeSecond,reverse=True) for i in data2: print(f"{i[0]} : {i[1]}")

task_1
#test1 import random #random.randint(1,100) 随机抽数字 print('用列表存储随机整数:') ls = [random.randint(1,100) for i in range(5)] print(ls) print('\n用字典存储随机整数') s1 = {random.randint(1,100) for i in range(5)} print(s1) print('\n用集合存储随机整数') s2 = set() while (len(s2)<5): s2.add(random.randint(1,100)) print(s2) # s3 = {random.randint(1,3) for i in range(3)} print(s3) print(list(range(5))) print(list(range(1,5))) print(len(s2)) #1.2. 字典的输出个数是随机的 因为会把重复输出的去掉 列表的输出个数是一定的 # 问题1:random.randint(1,100)生成的随机整数范围是?能否取到100? 可以取到一百 范围是(1,100) # 问题2:利用list(range(5))生成的有序序列范围是?是否包括5? 范围是1-4 不包括5 利用list(range(1,5))生成的有序序列范围是?是否包括5? 范围是0-4 不包括5 # 问题3:使用line8生成的集合s1,len(s1)一定是5吗? 一定是5 # 问题4:使用line12-14生成的集合s2,len(s2)一定是5吗? 一定是5
task_3
#task-3 temperatures= [['2022-04-18', '星期一', '10', '22'], ['2022-04-19', '星期二', '10', '22'], ['2022-04-20', '星期三', '12', '25'], ['2022-04-21', '星期四', '13', '28'], ['2022-04-22', '星期五', '16', '31'], ['2022-04-23', '星期六', '19', '31'], ['2022-04-24', '星期日', '19', '27']] low = [] high = [] tem = [] for i in temperatures: low.append(int(i[2])) high.append(int(i[3])) tem = low+high n = sum(high) m = sum(low) print(f'未来一周最低气温是:{min(low)}°C\n未来一周最高气温是:{max(high)}°C\n未来一周的平均气温是:{int(m/6)}°C~{int(n/6)}°C\n')
import random x=random.randint(1,31) c=eval(input("猜猜2022年5月那一天会是你的lucky day你又三次机会,猜吧(1~31):")) i=1 while i<3: if c<x: print("猜早啦,你的lucky day还没到呢呢") c=eval(input("再猜再猜:")) i+=1 elif c>x: print("猜晚啦,你的lucky day已经过了呢") c=eval(input("再猜再猜(1~31):")) i+=1 else: print("蛙,猜对啦:-") i=4 if i==3 and c<x: print("前面次数用完啦,") print(f"偷偷告诉你2022年5月你的lucky day 是{x}号") elif i==3 and c>x: print("次数用完啦") print(f"2022年5月你的lucky day 是{x}号") else: print("蛙,猜对啦:-")
# task——5 x,n = eval(input('输入整数x与需要转化的进制数n(2,8,16):')) h = x x1,n1 = x,n i=1 list=[] list1=["A","B","C","D","E","F"] while i>0: x1=i i=x//n c=x%n x=i if i!=0 and c>=10: c=list1[c-10] list.append(c) elif i!=0 and c<10: list.append(c) else: if x1>10: x1=list1[x1-10] list.append(x1) else: list.append(x1) list.reverse() print(f"{h}的{n1}进制是",end=":") for i in list: print(f"{i}",end="")