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

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.范围是1~100,1和100包括在内。

2.0~4,不包括5;1~4,不包括5.

3.不一定,如果随机的数字中有重复,那么len(s1)<5。

4.一定

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
h={}
for value in datas.values():
    for hobbies in value:
        h[hobbies]=0
for value in datas.values():
    for hobbies in value:
        if hobbies in h.keys():
            h[hobbies]=h[hobbies]+1
h_list=[(x[1],x[0])for x in h.items()]
h_list.sort(reverse=True)
for hobby in h_list:
    print(f'{hobby[1]}:{hobby[0]}')

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']]
t_max=[]
t_min=[]
sum_min,sum_max=0,0
for list in temperatures:
    t=max(int(list[2]),int(list[3]))
    t_max.append(t)
    sum_max=sum_max+t
print(f'未来一周最高气温:{max(t_max)}')
for list in temperatures:
    t=min(int(list[2]),int(list[3]))
    t_min.append(t)
    sum_min=sum_min+t
print(f'未来一周最低气温:{min(t_min)}')
print(f'未来一周平均气温:{int(sum_min/7)}~{int(sum_max/7)}')

import random
print('猜猜2020年5月哪天会是你的lucky day:-)')
x=random.randint(1,31)
c=int(input('你有三次机会,猜吧(1~31):'))
i=1
while c!=x:
    if i==3:
        break
    if c>x:
        print('猜晚啦,你的lucky day已经过啦')
        c=int(input('再猜(1,31):'))
        i=i+1
    elif c<x:
        print('猜早啦,你的lucky day还没到呢')
        c=int(input('再猜(1,31):'))
        i=i+1
if i==3:
    print('次数用光啦')
    print('偷偷告诉你,5月你的luckday是',x,'号,goodluck',sep="")
else:
    print('猜中啦')

x,n=map(int,input('输入十进制整数x和想要转换的进制n(2或8或16):').split())
yushu=[]
d={10:'A',11:'B',12:'C',13:'D',14:'E',15:'F'}
while x//n!=0:
    t=x%n
    if t>=10:
        t=d[10]
    yushu.append(str(t))
    x=x//n
t1=x%n
if t1>=10:
    t1=d[t1]
yushu.append(str(t1))
yushu1=yushu[::-1]
print(f'{x}的{n}进制是:{"".join(yushu1)}')

 

posted @ 2022-04-23 16:57  李禹灼  阅读(36)  评论(3编辑  收藏  举报