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

#task——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这个闭区间,包括100。

2:0-5前闭后开,不包括5

     1-5前闭后开,不包括5.

3:不一定,random可能取到重复值

4:一定

 Task——2

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
        '2049777002': ['音乐', '旅行'],
        '2049777003': ['马拉松', '健身', '游戏'],
        '2049777004': [],
        '2049777005': ['足球', '阅读'],
        '2049777006': ['发呆', '闲逛'],
        '2049777007': [],
        '2049777008': ['书法', '电影'],
        '2049777009': ['音乐', '阅读', '电影', '漫画'],
        '2049777010': ['数学', '推理', '音乐', '旅行']}
list_1 = []
list_2 = []
for keys,values in datas.items():
    for i in values:
        list_1.append(i)
list_1=set(list_1)
list_1=list(list_1)
d={}
for i in range(len(list_1)):
    d[list_1[i]]=0
for keys,values in datas.items():
    for i in values:
        d[i]=d[i]+1
for keys,values in d.items():
    temp=(keys,values)
    list_2.append(temp)
list_2.sort(key=lambda list_2:list_2[1],reverse=True)
for i in range(len(list_2)):
    print(list_2[i][0],list_2[i][1])

Task——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_1=[]
list_2=[]

for i in temperatures:
    a=i[2]
    list_1.append(a)
    b=i[3]
    list_2.append(b)
print('未来一周最低气温:{}℃'.format(min(list_1)))
print('未来一周最高气温:{}℃'.format(max(list_2)))


a=0
b=0
for i in range(len(list_1)):
    a=int(list_1[i])+int(a)
    b=int(list_2[i])+int(b)
a=int(a/7)
b=int(b/7)
print('未来一周平均气温区间: {}℃ ~ {}℃'.format(a,b))

Task——4

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

Task--5

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

总结:

经过此次学习,对各数据类型能有一定能力进行一些常用操作,不过目前还欠缺熟练度,需要大量练习。

目前最大问题是编程思路无法达成目的,还需加以练习和思考。

 

posted on 2022-04-25 15:43  haze13327620097  阅读(38)  评论(5)    收藏  举报