实验三

实验任务1

import random
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)

问题一:1~100,可以取到100

问题二:0~4,不包括5;1~4,不包括5

问题三:不一定,因为random.randint()生成的数可能会重复

问题四:一定,借助集合,剔除重复元素

 

实验任务二:

 

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
         '2049777002': ['音乐', '旅行'],
         '2049777003': ['马拉松', '健身', '游戏'],
         '2049777004': [],
         '2049777005': ['足球', '阅读'],
         '2049777006': ['发呆', '闲逛'],
         '2049777007': [],
         '2049777008': ['书法', '电影'],
         '2049777009': ['音乐', '阅读', '电影', '漫画'],
         '2049777010': ['数学', '推理', '音乐', '旅行']
        }
v={}
for i in datas.values():
    for j in i:
        v[j]=v.get(j,0)+1
x=list(v.keys())
y=list(v.values())
z=[(y[i],x[i] ) for i in range(len(x))]
for j in sorted(z,reverse=True):
    print(f"{j[1]}:{j[0]}")

实验任务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']]
list_ = []
list__ = []
for datas in temperatures:
    list_.append(int(datas[2]))
    list__.append(int(datas[3]))
tuple_ = tuple(list_)
tuple__ = tuple(list__)
print(f'未来一周的最低气温:{min(tuple_)}°C')
print(f'未来一周的最高气温:{max(tuple__)}°C')
aver_low_tem = sum(list_)/len(list_)
aver_high_tem = sum(list__)/len(list__)
print(f'未来一周的平均气温区间:{int(aver_low_tem)}°C~{int(aver_high_tem)}°C')

实验任务4

import random
print('猜猜2022年5月哪一天会是你的lucky day:-)')
lucky_day = random.randint(1,31)
num = int(input('你有三次机会,猜吧(1~31):'))
count = 0
while True:
    if num > lucky_day:
        print(f'猜晚啦,你的lucky day已经过啦')
        count += 1
        if count == 3:
            print(f'次数用光了\n偷偷告诉你,5月你的lucky day是{lucky_day}号。good luck:-)')
            break
        num = int(input('再猜(1~31):'))
    elif num < lucky_day:
        print(f'猜早啦,你的lucky day还没到呢')
        count += 1
        if count == 3:
            print(f'次数用光了\n偷偷告诉你,5月你的lucky day是{lucky_day}号。good luck:-)')
            break
        num = int(input('再猜(1~31):'))
    else:
        print('哇,猜对啦:-)')
        break

实验任务5

x,n=eval(input('输入十进制整数x和要转化的进制n(2或8或16):'))
y=0
list=[]
dict={'10':'A','11':'B','12':'C','13':'D','14':'E','15':'F'}
while x//n!=0:
    y=x%n
    x=x//n
    list.append(str(y))
list.append(str(x))
list.reverse()
if n==16:
    list=[dict[i] if i in dict else i for i in list]
print(''.join(list))

 

posted @ 2022-04-27 10:42  朗格里格朗  阅读(24)  评论(3编辑  收藏  举报