实验3 控制语句与组合数据类型应用编程

实验任务1:
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:是

 

实验任务2:
1
datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], 2 '2049777002': ['音乐', '旅行'], 3 '2049777003': ['马拉松', '健身', '游戏'], 4 '2049777004': [], 5 '2049777005': ['足球', '阅读'], 6 '2049777006': ['发呆', '闲逛'], 7 '2049777007': [], 8 '2049777008': ['书法', '电影'], 9 '2049777009': ['音乐', '阅读', '电影', '漫画'], 10 '2049777010': ['数学', '推理', '音乐', '旅行']} 11 d1 = set() 12 a1 = [] 13 for x in datas.values(): 14 for i in x: 15 d1.add(i) 16 for y in d1: 17 a=0 18 for x in datas.values(): 19 for i in x: 20 if i == y: 21 a += 1 22 a1.append(a) 23 d2 = dict(zip(d1,a1)) 24 l1 = list(d2.items()) 25 l2 = sorted(l1, key=lambda x: x[1], reverse=True) 26 for k, v in l2: 27 print(f'{k}:{v}')

 

 

实验任务3: 
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 a = [] 9 b = [] 10 for x in temperatures: 11 a.append(eval(x[2])) 12 b.append(eval(x[3])) 13 print(f'''未来一周最低气温:{min(a)}℃ 14 未来一周最高气温:{max(b)}℃ 15 未来一周平均气温区间:{int(sum(a)/7)}℃~{int(sum(b)/7)}℃''')

 

 

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

 

 

1 x, n = eval(input('输入十进制整数x和要转换的进制n(2或8或16):'))
2 if n == 2:
3     print('{}的{}进制是:{:b}'.format(x, n, x))
4 if n == 8:
5     print('{}的{}进制是:{:o}'.format(x, n, x))
6 if n == 16:
7     print('{}的{}进制是:{:X}'.format(x, n, x))

 

posted on 2022-04-25 22:45  张玮珊  阅读(8)  评论(1编辑  收藏  举报