一.实验任务1:

   问题1:范围是1到100闭区间,可以去取到100.

   问题2:第一个范围是0到4闭区间,不能取到五,第二个范围1到4闭区间,不能取到五

   问题3:不一定,random函数可能取重复值

二.实验任务2:

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
list1=list(datas.values())
s=set()
list2=[]
for i in list1:
    for b in i:
        s.add(b)
for j in s:
    a=0
    for i in list1:
        for b in i:
            if j==b:
                a+=1
    list2.append(a)
d2=dict(zip(s,list2))
l1=list(d2.items())
l2=sorted(l1,key=lambda i:i[1],reverse=True)
for m,n in l2:
    print(f'{m},{n}')

  

三.实验任务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']]
list1=[]
list2=[]
for i in temperatures:
    a=i[2]
    list1.append(a)
    b=i[3]
    list2.append(b)
a=0
b=0
for i in range(len(list1)):
    a=int(list1[i])+int(a)
    b=int(list2[i])+int(b)
a=int(a/7)
b=int(b/7)
print('未来一周最低气温:',min(list1),'')
print('未来一周最高气温:',max(list2),'')
print('未来一周平均气温区间: ',a,'℃ ~ ',b,'')

四.实验任务4:

import random
x=random.randint(1,31)
print('猜猜2022年5月哪一天会是你的lucky day:')
y=int(input('你有三次机会猜吧(1-31)'))
a=1
while a<4:
    if y==x:
        print('哇,猜中了')
        break
    elif y>x:
        print('猜晚了,你的lucky day已经过了')
        if a==3:
            print('次数用光了')
            print('偷偷告诉你,五月你的lucky day 是',x,'')
            a=a+1
        else:
            y=int(input('再猜(1-31)'))
            a=a+1
        continue
    else:

        print('猜早了,你的lucky day还没到呢')
        if a==3:
            print('次数用光了')
            print('偷偷告诉你,五月你的lucky day 是',x,'')
            a=a+1
        else:
            y=int(input('再猜(1-31)'))
            a=a+1
        continue

五.实验任务5:

x,n=input('输入十进制整数x和要转换的进制n(2或8或16):').split(' ')
x=int(x)
n=int(n)
list1=[]
while x!=0:
    a=x%n
    if a in range(10,17):
        list2=['A','B','C','D','E','F']
        list3=['10','11','12','13','14','15']
        a=str(a)
        b=list3.index(a)
        a=a.replace(list3[b],list2[b])
    x=x//n
    list1.append(a)
list1=list1[::-1]
for i in range(len(list1)):
    print(list1[i],end='')