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

#任务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:生成的随机整数范围是1-100,包括1和100

问题2:[0,1,2,3,4]不包括5

[1,2,3,4],不包括5

问题3:是的

问题4:是的

实验1总结:使用range函数可知range(m,n)是一个左闭右开

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
list1=list(datas.values())
s=set()
list2=[]
print(list1)
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}')

总结2:可以通过遍历来实现查询

['2022-04-21', '星期四', '13', '28'],
['2022-04-22', '星期五', '16', '31'],
['2022-04-23', '星期六', '19', '31'],
['2022-04-24', '星期日', '19', '27']]
a=[]
h=[]
for i in temperatures:
        a.append(eval(i[2]))
        c=min(a)
        h.append(eval(i[3]))
        k=max(h)
print(f'''未来一周最低气温:{c}
未来一周最高气温:{k}
未来一周平均气温区间:{int(sum(a)/7)}℃~{int(sum(h)/7)}℃''')

 

import random

print('猜猜2022年5月那一天会是你的lucky day:-')
a=random.randint(1,31)
i=0
while i<=2:
    b = eval(input('你有三次机会,猜吧:'))
    if b==a:
        print('猜中啦')
        break
    else:
        if b>a:
            print('猜晚啦,你的lucky day已经过啦')
        else:
            if b<a:
                print('猜早啦,你的luckt day 还没到呢')
        i+=1
print('次数用光啦')
print((f'偷偷告诉你,五月你的lucky day是{a}号.good luck'))

 

x, n = eval(input("输入十进制整数x和要转换的进制n(2或8或16):"))
a = []
s = x//n
a.append(x%n)
while s:
    a.append(s%n)
    s = s//n
print(f"{x}的{n}进制是:", end = '')
for i in a[::-1]:
    if 10<=i<=16:
        print(chr(55+i), end = '')
    else:
        print(i, end ='')
print()
c = [chr(55+i) if i not in range(10) else i for i in a[::-1]]
print(f"{x}的{n}进制是:", end = '')
for i in c :
    print(i, end = '')

 

posted @ 2022-04-20 20:01  苏萌0017  阅读(34)  评论(2编辑  收藏  举报