实验三
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并且可以取到100
回答2. 0-4取不到5;1-4取不到5
回答3. 不一定是5,因为有可能会取到相同的数字,而集合不存在相同的元素
回答4. 一定是,如果不是5,while循环会一直进行下去
Task2:
1 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], 2 '2049777002': ['音乐', '旅行'], 3 '2049777003': ['马拉松', '健身', '游戏'], 4 '2049777004': [], 5 '2049777005': ['足球', '阅读'], 6 '2049777006': ['发呆', '闲逛'], 7 '2049777007': [], 8 '2049777008': ['书法', '电影'], 9 '2049777009': ['音乐', '阅读', '电影', '漫画'], 10 '2049777010': ['数学', '推理', '音乐', '旅行'] 11 } 12 cishu = {} 13 aihao = [] 14 aihao1 = set() 15 16 for i in datas.keys(): 17 for n in datas[i]: 18 aihao.append(n) 19 aihao1.add(n) 20 aihao1 = list(aihao1) 21 22 for i in aihao1: 23 cishu.setdefault(i,aihao.count(i)) 24 cishu = list(zip(cishu.values(),cishu.keys())) 25 cishu.sort(reverse=True) 26 for i in range(len(cishu)): 27 print('{}:{}'.format(cishu[i][1],cishu[i][0]))

Task3:
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 diwen = [] 9 gaowen = [] 10 for i in range(len(temperatures)): 11 diwen.append(temperatures[i][2]) 12 gaowen.append(temperatures[i][3]) 13 sum_zuidiwen = 0 14 sum_zuigaowen = 0 15 for i,n in zip(diwen,gaowen): 16 sum_zuidiwen = sum_zuidiwen + int(i) 17 sum_zuigaowen = sum_zuigaowen + int(n) 18 average_zuidiwen = sum_zuidiwen / len(temperatures) 19 average_zuigaowen = sum_zuigaowen / len(temperatures) 20 zuidiwen = min(diwen) 21 zuigaowen = max(gaowen) 22 print('未来一周最低气温: {}℃'.format(zuidiwen)) 23 print('未来一周最高气温: {}℃'.format(zuigaowen)) 24 print('未来一周最高气温: {}℃ ~ {}℃'.format(int(average_zuidiwen),int(average_zuigaowen)))

Task4:
1 print('猜猜2022年5月哪一天会是你的lucky day:-)') 2 import random 3 xingyunshuzi = random.randint(1,31) 4 caice = eval(input('你有三次机会,猜吧(1~31):')) 5 i = 1 6 while(i<=3): 7 if(caice < xingyunshuzi): 8 if(i == 3): 9 print('次数用光啦.\n偷偷告诉你,5月你的lucky day是{}号.good luck:-)'.format(xingyunshuzi)) 10 break 11 print('猜早啦,你的lucky day还没到呢') 12 caice = eval(input('再猜(1~31):')) 13 i = i + 1 14 elif(caice > xingyunshuzi): 15 if(i == 3): 16 print('次数用光啦.\n偷偷告诉你,5月你的lucky day是{}号.good luck:-)'.format(xingyunshuzi)) 17 break 18 print('猜晚啦,你的lucky day已经过啦') 19 caice = eval(input('再猜(1~31):')) 20 i = i + 1 21 else: 22 print('哇,猜中了:-)') 23 break 24 else: 25 print('次数用光啦.\n偷偷告诉你,5月你的lucky day是{}号.good luck:-)'.format(xingyunshuzi))

Task5:
1 x,n = eval(input('输入十进制整数x和要转换的进制n(2或8或16):')) 2 cunchu = x 3 jinzhi = [] 4 if(n == 2 or n == 8): 5 while(x != 0): 6 a = x%n 7 x = x//n 8 jinzhi.append(str(a)) 9 jinzhi = ''.join(jinzhi)[::-1] 10 else: 11 while(x != 0): 12 a = x%n 13 x = x//n 14 jinzhi.append(a) 15 for i in range(len(jinzhi)): 16 if(jinzhi[i] == 10): 17 jinzhi[i] = 'A' 18 elif(jinzhi[i] == 11): 19 jinzhi[i] = 'B' 20 elif(jinzhi[i] == 12): 21 jinzhi[i] = 'C' 22 elif(jinzhi[i] == 13): 23 jinzhi[i] = 'D' 24 elif(jinzhi[i] == 14): 25 jinzhi[i] = 'E' 26 elif(jinzhi[i] == 15): 27 jinzhi[i] = 'F' 28 for i in range(len(jinzhi)): 29 jinzhi[i] = str(jinzhi[i]) 30 jinzhi = ''.join(jinzhi)[::-1] 31 print('{}的{}进制是:{}'.format(cunchu,n,jinzhi))


总结:人生苦短,下次一定

浙公网安备 33010602011771号