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

 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)

 

 

2.实验任务2

def takeSecond(elem):
    return elem[1]
data={'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
data1=[]
data2=[]
a=list(data.values())
for i in a:
    for j in i:
        data1.append(j)
data1.sort()
for i in list(set(data1)):
    h=(i,data1.count(i))
    data2.append(h)
    data2.sort(key=takeSecond,reverse=True)
for i in data2:
    print(f'{i[0]}:{i[1]}')

 

3.实验任务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']]
low=[]
high=[]
tem=[]
for i in temperatures:
    low.append(int(i[2]))
    high.append(int(i[3]))
    tem=low+high
n=sum(high)
m=sum(low)
print(f'未来一周最低气温是:{min(low)}℃\n未来一周最高气温是:{max(high)}℃\n未来一周的平均气温是:{int(m/6)}℃~{int(n/6)}℃\n')

 

 

4.实验任务4

import random
x=random.randint(1,31)
c=eval(input("猜猜2022年5月那一天会是你的lucky day你又三次机会,猜吧(1~31):"))
i=1
while i<3:
    if c<x:
        print("猜早啦,你的lucky day还没到呢呢")
        c=eval(input("再猜再猜:"))
        i+=1
    elif c>x:
        print("猜晚啦,你的lucky day已经过了呢")
        c=eval(input("再猜再猜(1~31):"))
        i+=1
    else:
        print("哇,猜对啦:-")
        i=4
if i==3 and c<x:
    print("前面次数用完啦,")
    print(f"偷偷告诉你2022年5月你的lucky day 是{x}号")
elif i==3 and c>x:
    print("次数用完啦")
    print(f"2022年5月你的lucky day 是{x}号")
else:
    print("哇,猜对啦:-")

 

 

5.实验任务5

x,n = eval(input('输入整数x与需要转化的进制数n(2,8,16):'))
h = x
x1,n1 = x,n
i=1
list=[]
list1=["A","B","C","D","E","F"]
while i>0:
    x1=i
    i=x//n
    c=x%n
    x=i
    if i!=0 and c>=10:
        c=list1[c-10]
        list.append(c)
    elif i!=0 and c<10:
        list.append(c)
    else:
        if x1>10:
            x1=list1[x1-10]
            list.append(x1)
        else:
            list.append(x1)
list.reverse()
print(f"{h}的{n1}进制是",end=":")
for i in list:
    print(f"{i}",end="")

 

posted @ 2022-04-25 23:34  张满月的衣橱  阅读(14)  评论(1编辑  收藏  举报