实验3 控制语句与组合数据类型应用编程
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)
2.实验任务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]}')
3.实验任务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)}℃\n未来一周最高气温是:{max(high)}℃\n未来一周的平均气温是:{int(m/6)}℃~{int(n/6)}℃\n')
4.实验任务4
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("哇,猜对啦:-")
5.实验任务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="")